我只是想知道是否有一种快速的方法来回应未定义的变量而不会收到警告?(我可以更改错误报告级别,但我不想.)我到目前为止最小的是:
isset($variable)?$variable:''
我出于以下几个原因不喜欢这个:
它有点"罗嗦"而复杂
$variable
重复
空白字符串的回声总是让我烦恼.
我的变量名可能会更长,例如 $arrayvar['parameter']
Eran Galperi.. 13
您可以使用错误抑制运算符 @ 运行它.
echo @$variable;
但是,最好不要忽略未设置的变量.未设置的变量可能表示脚本存在逻辑错误,最好确保在使用前设置所有变量.
您可以使用错误抑制运算符 @ 运行它.
echo @$variable;
但是,最好不要忽略未设置的变量.未设置的变量可能表示脚本存在逻辑错误,最好确保在使用前设置所有变量.
你可以使用从这里取得的ifsetor()示例:
function ifsetor(&$variable, $default = null) { if (isset($variable)) { $tmp = $variable; } else { $tmp = $default; } return $tmp; }
例如:
echo ifsetor($variable); echo ifsetor($variable, 'default');
这不会生成通知,因为变量是通过引用传递的.