Функция может определить значения по умолчанию в стиле C++ для скалярных аргументов:
function makecoffee ($type = "cappuccino"){return "Making a cup of $type.\n";}echo makecoffee ();echo makecoffee ("espresso");
Вывод будет таким:
Making a cup of cappuccino.Making a cup of espresso.
Значение по умолчанию обязано быть константным выражением, а не (например) переменной или членом класса.
Обратите внимание, что, при использовании аргументов по умолчанию, любые значения по умолчанию должны находиться справа от любых значений не по умолчанию; иначе что-нибудь может работать не так, как ожидалось. Рассмотрим следующий фрагмент кода:
function makeyogurt ($type = "acidophilus", $flavour){return "Making a bowl of $type $flavour.\n";} echo makeyogurt ("raspberry"); // не будет работать так, как ожидается
Вывод этого примера:
Warning!: Missing argument 2 in call to makeyogurt() in /usr/local/etc/httpd/htdocs/php3test/functest.html on line 41Making a bowl of raspberry.
Теперь сравним с этим:
function makeyogurt ($flavour, $type = "acidophilus"){return "Making a bowl of $type $flavour.\n";} echo makeyogurt ("raspberry"); // работает как положено