2010-09-13 2 views
2

Можно создать дубликат:
How do you create optional arguments in php?Как добавить необязательные аргументы в мою функцию?

Я построил функцию с 1 аргументом. Эта функция называется многочисленными местами на многих страницах на моем сайте. Я просто решил, что мне нужен еще один параметр для этой функции.

Во избежание ошибок «Предупреждение: Отсутствует аргумент» есть ли способ добавить второй аргумент с небольшим количеством логики, который проверяет наличие второго аргумента в вызывающей команде?

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

Спасибо.

ответ

6

Вы можете указать default value для ваших аргументов:

function foo($arg1, $optional_arg2 = NULL) 
{ 
    // ... 
} 

$optional_arg2 = NULL указывает, что если не дано, когда функция вызывается, $optional_arg2NULL будет. Значение аргумента по умолчанию может быть скалярным значением (строка, число или логическое значение), массив или NULL, но это не может быть переменной, членом класса или вызовом функции.

+0

Оххх. Я полностью неправильно понял цель для значения аргумента по умолчанию. –

+0

Оххх. Я полностью неправильно понял цель для значения аргумента по умолчанию. –

+0

Это имеет смысл. Спасибо за прояснение концепции для меня Daniel! –

1

Вы можете определить значение по умолчанию второго аргумента.

function functionName($first, $second = false) { ... } 

А теперь, если вы оставили в качестве второго аргумента он будет иметь false значение. В следующем случае вы вызываете

functionName("test", true); 

и перезапишите значение по умолчанию.

0
//@params array $options 

    function test($options) { 
     $option1 = $options['option1']; 
     ... 
    } 
Смежные вопросы