2015-09-22 3 views
1

У меня есть функция, как это:PHP Параметры по умолчанию Перезапись Зачет значения

protected function example($param = null) 
{ 
} 

и когда я называю это так:

$this->example("string"); 

или как это: $ строка = "строка"; $ this-> example ("string");

Значение параметра по-прежнему равно нулю. Что я делаю не так?

+1

Я бы предложил ввести var_dump и проследить через ваш код, чтобы убедиться, что он делает то, что вы ожидаете от него, и по соображениям здравомыслия. Убедитесь, что вы также вызываете нужный файл. – Newbi3

+0

Можете ли вы показать * полный * пример, который показывает эту проблему? Вы уверены, что вызываете * эту функцию? Это похоже на класс (из-за ключевого слова 'protected'), поэтому вам понадобится пример $ this-> (« string »);'. –

+2

'example()' не совпадает с '$ this-> example()' или '$ class-> example()' в OOP –

ответ

2

Попробуйте вернуть переменную.

protected function example($param = null) 
{ 
    return $param; 
} 
0

Наличие параметра NULL присваивает переменной $ param значение NULL, когда параметр не передается.

нравится, когда вы называете это $ this-> example();

В противном случае $ param будет настроен на то, что вы его передадите.