Давайте посмотрим на следующую функцию:

<?php
function hello($text) {
   echo $text;
}

hello('Привет');
?>

Эта функция будет выводит любой текст, который будет передан ей в качестве аргумента. Результат выполнения функции с аргументом "Привет":

Привет

Что будет, если не передать значение для аргумента, т.е., что будет если вызвать просто hello():

Warning: Missing argument 1 for hello(), called in...

Как видите, мы получим сообщение об ошибке. Чтобы этого не было, можно задать значения по-умолчанию для аргументов функции. Эти значения будут подставляться, если не были переданные данные для конкретного аргумента.

Значения по-умолчанию задаются так:

<?php
function hello($text = "Привет") {
   echo $text;
}

hello('Добрый день');

echo "<br/>";

hello();
?>

Результат выполнения этого кода:

Добрый день
Привет

Первый вызов функции hello('Добрый день') выведет: "Добрый день", второй вызов функции hello() без передачи значения выведет: "Привет" (потому что, мы указали значение по-умолчанию).