Если у меня есть следующее заявление:Вызов функции с переменными, которые не могут быть определены
$b = empty($a) ? "null" : "'$a'"
Чтобы избежать копирования и вставки, я хотел бы поставить его в функцию:
function x($a) {
return empty($a) ? "null" : "'$a'"
}
Так что я могу сделать:
$b = x($a); // $a is not defined, so PHP complains
$d = x($c); // same with $c
Но тогда я получаю сообщение об ошибке с PHP, потому что $a
не определен. Есть ли способ сделать это, за исключением использования оператора @
?
EDIT: Я имею в виду ошибку, возникающую при вызове x(), а не внутри x(). Вы знаете, вы можете делать isset() и empty() на все, что не определено, и PHP никогда не будет жаловаться. Но если вы вызовете функцию с чем-то неопределенным, PHP будет жаловаться. В чем проблема.
Почему вы работаете с переменной, которая не может быть определена? Что такое прецедент? –
Переменные могут быть неопределенными по различным причинам. В этом случае я хотел бы рассматривать переменную как null, а не неопределенную. – forthrin
Я согласен, что у вас есть произвольное количество неопределенных переменных, это запах кода. Только ввод, предоставленный пользователем, должен быть неизвестным, все остальное должно находиться в определенном состоянии. – deceze