检查变量是否在Kohana视图中定义时的未定义变量

时间:2011-06-18 17:10:27

标签: php

我在加载视图时遇到此错误:

  

ErrorException [注意]:未定义的变量:错误
  APPPATH \ views \ admin \ category \ add.php [2]

<h3>Add</h3>  
<?php if( $errors ): ?>
<p><?=$errors?></p>
<?php endif; ?>

我的检查无效?

4 个答案:

答案 0 :(得分:6)

您可能想尝试一下这个:

isset Manual

或者您实际上可以显示控制器代码,其中您未能将错误设置为View对象(可能在条件内)。

答案 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() - 最好检查一下你的变量是否存在(如果它有可能存在)。