我在加载视图时遇到此错误:
ErrorException [注意]:未定义的变量:错误
APPPATH \ views \ admin \ category \ add.php [2]
<h3>Add</h3>
<?php if( $errors ): ?>
<p><?=$errors?></p>
<?php endif; ?>
我的检查无效?
答案 0 :(得分:6)
答案 1 :(得分:1)
正如Kemo所说,你应该使用isset。你实际在做的是检查变量$errors
是否有一个值为true / false的值。变量的不存在并不等于false,你不会想要它,你想要拼写错误等......抛出错误而不是任何变量只是被认为是null而不管它是否实际被声明。 isset
专门用于检查变量的存在。由于您仍然想检查它是否也评估为true,您应该这样做:
if(isset($errors) && $errors)
答案 2 :(得分:0)
未定义的变量意味着它不存在。您可以将其包装在isset()
内以执行您想要执行的操作:
<?php if( isset( $errors ) ): ?>
Isset是少数几种在未设置警告/错误的情况下处理未设置变量的语言结构之一。另一个是empty()
。
答案 3 :(得分:-2)
PHP抛出错误,因为错误报告包含E_STRICT常量,如果指向未定义的变量,则会抛出异常。
使用isset() - 最好检查一下你的变量是否存在(如果它有可能存在)。