Параметр может быть передан как по значению, так и по ссылке. Для передачи параметра по ссылке перед именем параметра должен быть указан знак &. Параметр, передаваемый по ссылке, можно изменить внутри функции – его измененное значение будет доступно после вызова функции.
Параметру функции может быть присвоено значение по умолчанию. Параметры со значениями по умолчанию должны определяться после обычных параметров. В этом случае можно вызвать функцию, не указывая параметры в конце списка, тогда в качестве значений неуказанных параметров будут использованы значения по умолчанию.
Пример:
<?php // пример функции с параметром, передаваемым по ссылке function ref_example ($par1, $par2, &$par3) { // $par3 - передаем по ссылке $par3 = $par1 * $par2; return $par1 + $par2; }
$var_1 = 10; $var_2 = ref_example( 3, 2, $var_1 ); // в $var_2 получили значение 5 // в $var_1 получили значение 6
// пример функции с параметрами, заданными по умолчанию function default_example ($par1, $par2 = 10, $par3 = 12) { // $par2, $par3 - имеют значения по умолчанию return $par1 + $par2 + $par3; }
$var_1 = default_example( 1, 2, 3 ); // в $var_1 получили значение 6 $var_1 = default_example( 1, 2 ); // в $var_1 получили значение 15 $var_1 = default_example( 1 ); // в $var_1 получили значение 23
// пример функции с «неправильным» параметром по умолчанию function default_example2 ($par1 = 10, $par2, $par3) { // $par1 - имеет значение по умолчанию // но за ним есть еще параметры, без значений по умолчанию return $par1 + $par2 + $par3; }
$var_1 = default_example( 1, 2, 3 ); // в $var_1 получили значение 6 $var_1 = default_example( 1, 2 ); // получили сообщение об ошибке ?>