Язык программирования PHP - [23]
>echo $str .">
";
> // это выведет уже отмеченную
> // радио кнопку
>?>
В функции можно определять значения аргументов, используемые по умолчанию. Само значение по умолчанию должно быть константным выражением, а не переменной и не представителем класса или вызовом другой функции.
У нас есть функция, создающая информационное сообщение, подпись к которому меняется в зависимости от значения переданного ей параметра. Если значение параметра не задано, то используется подпись "Оргкомитет".
>
>function Message($sign="Оргкомитет."){
>// здесь параметр sign имеет по умолчанию значение "Оргкомитет"
> echo "Следующее собрание состоится завтра.
";
> echo "$sign
";
>}
>Message();
> // вызываем функцию без параметра.
> // В этом случае подпись – это Оргкомитет
>Message("С уважением, Вася");
> // В этом случае подпись
> // будет "С уважением, Вася."
>?>
Результатом работы этого скрипта будет:
>Следующее собрание состоится завтра.
>Оргкомитет.
>Следующее собрание состоится завтра.
>С уважением, Вася.
Если у функции несколько параметров, то те аргументы, для которых задаются значения по умолчанию, должны быть записаны после всех остальных аргументов в определении функции. В противном случае появится ошибка, если эти аргументы будут опущены при вызове функции.
Например, мы хотим внести описание статьи в каталог. Пользователь должен ввести такие характеристики статьи, как ее название, автор и краткое описание. Если пользователь не вводит имя автора статьи, считаем, что это Иванов Иван.
>
>function Add_article($title, $description,
> $author="Иванов Иван"){
> echo "Заносим в каталог статью: $title,";
> echo "автор $author";
> echo "
Краткое описание: ";
> echo "$description
";
>}
>Add_article("Информатика и мы",
> "Это статья про информатику ...",
> "Петров Петр");
>Add_article("Кто такие хакеры",
> "Это статья про хакеров ...");
>?>
В результате работы скрипта получим следующее
>Заносим в каталог статью: Информатика и мы,
> автор Петров Петр.
>Краткое описание:
> Это статья про информатику...
>Заносим в каталог статью: Кто такие хакеры,
> автор Иванов Иван.
>Краткое описание:
> Это статья про хакеров...
Если же мы напишем вот так:
>
>function Add_article($author="Иванов Иван",
> $title, $description){
>// ...действия как в предыдущем примере
>}
>Add_article("Кто такие хакеры",
> "Это статья про хакеров...");
>?>
То в результате получим:
>Warning: Missing argument 3 for
> add_article() in
>c:\users\nina\tasks\func\def_bad.php
> on line 2
Списки аргументов переменной длины
В PHP4 можно создавать функции с переменным числом аргументов. То есть мы создаем функцию, не зная заранее, со сколькими аргументами ее вызовут. Для написания такой функции никакого специального синтаксиса не требуется. Все делается с помощью встроенных функций func_num_args(), func_get_arg(), func_get_args().
Функция func_num_args() возвращает число аргументов, переданных в текущую функцию. Эта функция может использоваться только внутри определения пользовательской функции. Если она появится вне функции, то интерпретатор выдаст предупреждение.
>
>function DataCheck(){
> $n = func_num_args();
> echo "Число аргументов функции $n";
>}
>DataCheck();
> // выведет строку
> // "Число аргументов функции 0"
>DataCheck(1,2,3);
> // выведет строку
> // "Число аргументов функции 3"
>?>
Функция func_get_arg (целое номер_аргумента ) возвращает аргумент из списка переданных в функцию аргументов, порядковый номер которого задан параметром номер_аргумента. Аргументы функции считаются начиная с нуля. Как и func_num_args(), эта функция может использоваться только внутри определения какой-либо функции.
Номер_аргумента не может превышать число аргументов, переданных в функцию. Иначе будет сгенерировано предупреждение, и функция func_get_arg() возвратит False.
Создадим функцию для проверки типа данных, ее аргументов. Считаем, что проверка прошла успешно, если первый аргумент функции – целое число, второй – строка.
>
>function DataCheck(){
> $check =true;
> $n = func_num_args();
> // число аргументов,
> // переданных в функцию
> /* проверяем, является ли первый
> переданный аргумент целым числом */
> if ($n>=1) if (!is_int(func_get_arg(0)))
> $check = false;
> /* проверяем, является ли второй
> переданный аргумент строкой */
> if ($n>=2)
> if (!is_string(func_get_arg(1)))
> $check = false;
>return $check;
>}
>if (DataCheck(a123,"text"))
> echo "Проверка прошла успешно
";
>else echo "Данные не удовлетворяют
> условиям
";
>if (DataCheck(324))
> echo "Проверка прошла успешно
";
>else echo "Данные не удовлетворяют условиям
";
>?>
Результатом работы будет следующее.
>Данные не удовлетворяют условиям
>Проверка прошла успешно
Функция func_get_args() возвращает массив, состоящий из списка аргументов, переданных функции. Каждый элемент массива соответствует аргументу, переданному функции. Если функция используется вне определения пользовательской функции, то генерируется предупреждение.
Перепишем предыдущий пример, используя эту функцию. Будем проверять, является ли целым числом каждый четный аргумент, передаваемый функции:
«Лирика обладает одним несомненным преимуществом перед другими родами поэзии: она лучше всего освещает нам личный мир поэта, ту сферу, которую выделяет для него в широком Божьем мире его темперамент, обстановка, симпатии, верования; она показывает степень отзывчивости поэта; т.е. его способности переживать разнородные душевные состояния: она часто открывает нам уголки поэтической деятельности, где живут не оформившиеся еще образы, задатки для определенных фигур эпоса и драмы. В эпосе и драме образы становятся разнообразнее и пестрее, но вместе с тем славятся объективнее, особенно в драме…».
В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.
Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.
В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.
Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.
Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.