| ||||||||||
Аргументы функцииИнформация может передаваться в функцию через список аргументов, который является списком разделённых запятыми переменных и/или констант. 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(). Специального синтаксиса не нужно, и списки аргументов могут по-прежнему явно предоставляться в определениях функций и будут вести себя как обычно. | ||||||||||
|