今天在利用empty函数是出现Fatal error: Can’t use function return value in write context错误提示,觉得很怪, 这个函数我可是使用了N久了今天怎么回事,下面大家来看看我的分析过程。
代码如下:
1 2 3 4 | $str=""; if(empty(trim($str))){ echo "empty"; } |
然后就出错了。
然后我们看一下手册。
bool empty ( mixed $var )
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。
可见empty只能用来检查变量值,不能用来检查函数的返回值。正确用法应该是先将函数返回值赋予一个变量在检测:
1 2 3 4 5 | $var =trim(""); // 结果为 true,因为 $var 为空字符串 if (empty($var)) { echo "empty"; } |
希望大家注意一下。
转载请注明:Li Jianwei's Blog » empty()出错,Fatal error: Can’t use function return[解决办法]