我已经尝试了所有的东西,但只是不能让这个通知消失。
我有text input
显示正在从数据库中获取的$variable
的内容,其值为NULL或整数值。
当值为NULL时,我使用它,我得到 1错误的未识别索引。
if(isset($data['variable'])) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); }
当值为NULL时,我使用它,我得到 2错误的未识别索引。
if($data['variable'] == NULL) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); }
任何人都可以解释如何摆脱这些“通知”吗?谢谢!
答案 0 :(得分:1)
您可能想查看$data
变量是否可用。如果为null,则无法访问不存在的变量中的元素。
if (isset($data)) {
if(isset($data['variable'])) { $variable = $data['variable']; }
else {
//THIS MAKES NO SENSE. $data['variable'] does not exist.
//$variable = numberFormat($data['variable']);
//You can put something else in here, however
$variable = "";
}
}
其次,在不存在时访问$data['variable']
是非感性的,因为......我不存在!
答案 1 :(得分:0)
我认为$data['variable']
不存在。在第二个示例中,您会收到2个错误,因为您没有使用isset()
,它可以处理未设置的变量。
答案 2 :(得分:0)
null
个值,因此未设置任何可能包含一个变量的变量。
在您的第一个代码段中,您正在对此进行测试,但请继续并分配值,以便您收到通知。
if(isset($data['variable'])) {
$variable = $data['variable'];
} else {
$variable = numberFormat($data['variable']); // Test for isset() fails, code comes here.
}
您需要在else
子句中为$ variable分配一些有意义的内容,因为$data['variable']
未设置。
答案 3 :(得分:0)
尝试
$variable = (isset($data['variable'])) ? $data['variable'] : 0;