ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Функции. Часть Четвёртая.


28-12-2009

Это же делается в функциях пользователя. Для присвоения значения по умолчанию сразу же после аргумента используется оператор =. Правая часть этого оператора представляет собой присваиваемое литеральное значение (листинг 4.8). Так как аргументы проверяются слева направо, значение по умолчанию необходимо задавать каждому аргументу, начиная с первого аргумента.
Листинг 4.8. Аргументы со значениями по умолчанию
<?php
function printColor($text,
$color="black", &$count=NULL)
{
//Напечатать текст в соответствии со стилем print("<span style="color: $color">" .
"$text</span>");
//При наличии счетчика инкрементировать его if(isset($count))
{
$count++;
}
}
// Вызов с одним аргументом printColor(" Это черный текст"); print("<br>n");
// Пренебречь цветом, принятым по умолчанию
printColor(" Это голубой текст", "blue");
print("<br>n");
// Передать ссылку на счетчик
$c = 0;
printColor(" Это красный текст", "red", $c); print("<br>n");
printColor(" Это зеленый текст", "green", $c);
print("<br>n");
print(" Счетчик $c<br>");
?>

Значение по умолчанию можно присвоить и необязательному аргументу. Аналогичный синтаксис можно использовать и для любого другого необязательного аргумента. При вызове функции без этого аргумента изменение этого значения не будет иметь никакого влияния вне функции. Однако если установить значение по умолчанию равным NULL, то можно легко убедиться в том, что он присутствует в вызове и может использоваться только в этом случае. Любой аргумент может быть сброшен по умолчанию, если ему присваивается значение NULL.
Кроме задания имен аргументов, доступ к ним можно также получить по их смещению. Для этого обычно используются функции func_get_arg, func_get_args и func_num_args (они описываются в главе 8, "Браузер ввода-вывода"). Программист может выбрать один аргумент с помощью функции func_get_arg или выбрать все аргументы одновременно с помощью функции func_get_args. Для того чтобы определить, сколько аргументов было передано, необходимо воспользоваться функцией func_num_args. Но здесь возникает одна сложность. Вызов функции с количеством аргументов, отличных от аргументов прототипа, не будет ошибкой, если функция не была задумана таким образом преднамеренно.
Почему же все-таки не возникает никакого желания использовать эти функции, а не объявлять их явным образом. Предположим, что с помощью функции, задающей количество аргументов, был создан целый список. Сначала необходимо разместить эти числа в массиве, который, в свою очередь, будет выбирать значения из массива. В то же время вместо такой сложной конфигурации можно задать функцию, которая будет принимать переменное число аргументов (листинг 4.9).

I Листинг 4.9. Функции с переменным числом аргументов_
<?php
function makeList()
{
print("<ol>n");
for($i=0; $i < func_num_args(); $i++)
{
print("<li>" . func_get_arg($i) . "</li>n");
}
print("</ol>n");
}
makeList("Linux", "Apache", "MySQL", "PHP");
?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Функции. Часть Третья. PHP. Функции. Часть Пятая.