| ||||||||||
Аргументы функцииИнформация может передаваться в функцию через список аргументов, который является списком разделённых запятыми переменных и/или констант. PHP поддерживает разбор аргументов по значению (по умолчанию), разбор по ссылке и значения по умолчанию. Списки аргументов Variable-length поддерживаются только в PHP 4 и позднее; см. Списки аргументов переменного размера и статью о функциях func_num_args(), func_get_arg() и func_get_args(). Аналогичный эффект может быть достигнут в PHP 3 путём передачи функции массива аргументов:
Создание аргументов, передаваемых по ссылкеПо умолчанию аргументы передаются в функцию по значению (поэтому, если вы изменяете значение аргумента внутри функции, оно не изменяется за пределами этой функции). Если вы дать функции возможность модифицировать свои аргументы, вы обязаны передавать их по ссылке. Если всегда хотите передавать аргументы по ссылке, вы можете ввести префикс-амперсанд (&) в имени аргумента в определении функции:
Значения по умолчанию аргументовФункция может определить значения по умолчанию в стиле C++ для скадярных аргументов:
Вывод будет таким:
Значение по умолчанию обязано быть константным выражением, а не (например) переменной или членом класса. Обратите внимание, что при использовании аргументов по умолчанию любые значения по умолчанию должны находиться справа от любых значений не по умолчанию; иначе что-нибудь мможет работать не так, как ожидалось. Рассмотрим следующий фрагмент кода:
Вывод этого примера:
На выводе этого примера:
Списки аргументов переменного размераВPHP 4 имеется поддержка списков аргументов переменного размера/variable-length в пользовательских функциях. Это довольно легко делается функциями func_num_args(), func_get_arg() и func_get_args(). Специального синтаксиса не нужно, и списки аргументов могут по-прежнему явно предоставляться в определениях функций и будут вести себя как обычно. | ||||||||||
|