Оглавление
Вертикальное оформление списка аргументовЗавершающая запятаяПередача аргументов по значениюПередача аргументов по ссылкеКраткое резюме
Параметры функций в PHP
Функция может иметь ноль или несколько параметров:
Если у функции несколько параметров, их необходимо разделять запятой (
,).Пример: функция конкатенации строк
Функция
concat() принимает два параметра: $str1 и $str2.При вызове функции нужно передать два аргумента, соответствующих параметрам:
В этом примере переменная
$str1 получит значение 'Добро пожаловать ', а $str2 получит 'Админ'.Если передать меньше аргументов, чем требуется, PHP выдаст ошибку.
Вертикальное оформление списка аргументов
Для улучшения читаемости длинные списки аргументов можно разбивать на несколько строк:
Это считается хорошей практикой при большом количестве аргументов.
Завершающая запятая
С версии PHP 7.0 в списке аргументов можно использовать завершающую запятую, которую интерпретатор игнорирует:
С PHP 8.0 завершающая запятая допустима и в списке параметров функции:
Передача аргументов по значению
Рассмотрим пример:
Вывод:
Как это работает
- Определяется переменная
$counterсо значением1. - Создаётся функция
increase(), которая увеличивает переданный аргумент на 1 и выводит его. - Функция вызывается с аргументом
$counter. - После вызова функции выводится значение
$counter.
Внутри функции значение увеличивается, но вне функции переменная не меняется. Это происходит потому, что аргумент передаётся по значению: функция работает с копией переменной, а не с оригиналом.
Передача аргументов по ссылке
Чтобы функция могла изменять исходную переменную, аргумент нужно передавать по ссылке. Для этого перед именем параметра ставится амперсанд (
&):Вывод:
Теперь изменение переменной внутри функции отражается и снаружи.
Краткое резюме
- Параметры функции разделяются запятой (
,). С PHP 8.0 допустима завершающая запятая. - По умолчанию аргументы передаются по значению.
- Для передачи по ссылке используйте амперсанд (
&) перед именем параметра.

