empty()不能与codeigniter输入类一起使用

时间:2012-07-08 09:13:11

标签: php codeigniter post

这真的很奇怪。 每当我打电话给

if(empty($this->input->post("foo")){//blabla}

整个PHP“关闭”,我从网站上得到一个空白页面(即使我没有通过这个空(输入)行)。

我知道这不是正确的方法而且很愚蠢,我将代码更改为

if(!$this->input->post("foo")){//blabla}

我想更好吗?

说真的,为什么空(输入)会破坏整个PHP页面? (我无法得到任何回音“某事”)。

3 个答案:

答案 0 :(得分:3)

来自manual

  

<强> 注意

     

empty()仅检查变量,因为其他任何内容都会导致解析   错误。换句话说,以下内容不起作用:   空(修整($名))。

更新: 从PHP 5.5开始,empty()也支持表达式。

  

更新日志:

     

5.5.0 empty()现在支持表达式,而不仅仅是变量。

答案 1 :(得分:2)

您不能将empty用于功能,也不需要。 empty是一个特殊的构造,只对变量起作用,否则会触发致命错误。见The Definitive Guide To isset And empty

答案 2 :(得分:1)

你不需要在输入类中使用empty,因为如果post变量不存在或者包含null值,则输入类返回false会自动使if条件失败并且你的else块会起作用...