PHP: Делаем один из аргументов пользовательской функции необязательным

  • Автор:
  • Опубликовано:
  • Изменено:
  • Просмотры: 277
  • Комментарии: 0
  • Рейтинг: 100,00%
  • Голосов: 1

Наверное каждого, кто создает свою функцию и дает ей несколько аргументов, причем не обязательно их все используя, раздражал тот факт, что в логах сервера постоянно появляются ошибки. Например начало объявления функции:

function favorite_album($bandname, $genre)

Если вы её будете вызывать без второго параметра, например так:

function favorite_album('Paradise Lost', 'Doom Gothic Metal')

То ничего страшного не предвидится.

Но если вы вызовите её вот так:

function favorite_album('Paradise Lost')

То в логе веб-сервера получите следующее сообщение:

PHP message: PHP Warning:  Missing argument 2 for favorite_album(), called in /srv/www/music/profile.php on line 170 and defined in /srv/www/music/function.php on line 39" while reading upstream, client: 192.168.1.2....

Чтобы избежать появления таких сообщений, необходимо к аргументу в самом объявлении функции написать следующее: =null, т.е. привести к следующему виду:

function favorite_album($bandname, $genre=null)

После этого все будет так же работать как обычно, только сообщений с предупреждениями от веб-сервера вы больше не будете получать.

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)

Добавить комментарий

Ваш e-mail не будет опубликован.