Функции, определяемые пользователем (пользовательские)
Функция может быть определена с использованием такого синтаксиса:
| function foo ($arg_1, $arg_2, ..., $arg_n){ echo "Пример \n"; return $retval;} |
Внутри функции может появляться любой правильный код PHP, даже другие функции и определения классов.
В PHP 3 функции обязаны быть определены до обращения к ним. Такого требования нет в PHP 4.
PHP не поддерживает перегрузку/overloading функций; также невозможно разопределить или переопределить ранее объявленную функцию.
PHP 3 не поддерживает переменное количество аргументов функции, хотя аргументы по умолчанию поддерживаются (см. Значения аргументов по умолчанию). PHP 4 поддерживает и то, и другое: см. Списки аргументов переменного размера и статьи о функциях func_num_args() , func_get_arg() и func_get_args().
Аргументы функции
Информация может передаваться в функцию через список аргументов, который является списком разделённых запятыми переменных и/или констант.
PHP поддерживает разбор аргументов по значению (по умолчанию), разбор по ссылке и значения по умолчанию. Списки аргументов Variable-length поддерживаются только в PHP 4 и позднее; см. Списки аргументов переменного размера и статьи о функциях func_num_args(), func_get_arg() и func_get_args(). Аналогичный эффект может быть достигнут в PHP 3 путём передачи функции массива аргументов:
| function takes_array($input){echo "$input[0] + $input[1] = ", $input[0]+$input[1];} |