PHP empty函数报错解决办法

yipeiwu_com6年前PHP代码库

PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context

例如下面的代码:

复制代码 代码如下:

<?php
echo empty(strlen('test'));

转到PHP手册里面查看,在empty函数描述的地方有以下文字:

复制代码 代码如下:
Note :  empty()  only checks variables as anything else will result in a parse error. In other words, the following will not work: empty(trim($name)).

得出结论:empty()只检测变量,检测任何非变量的东西都将导致解析错误!

因此,我们不能拿empty来直接检测函数返回的值,上面例子的解决方法如下:

复制代码 代码如下:

<?php
$length = strlen('test');
echo empty($length);

相关文章

windows下升级PHP到5.3.3的过程及注意事项

windows下升级PHP到5.3.3的过程及注意事项

就升级了本地的开发环境,没有涉及到生产环境.其实从5.3.0升级到5.3.3的过程还算蛮简单的,就是修改自己的程序有点麻烦,遇到了个小问题就是升级后竟然自己的项目无法连接mysql了,原...

PHP中类型转换 ,常量,系统常量,魔术常量的详解

PHP中类型转换 ,常量,系统常量,魔术常量的详解 1.自动类型转换; 在运算和判断时,会进行自动类型转换; 1)其他类型转为bool,判断时转换; 1)整型转布尔型:0转fal...

PHP中的Session对象如何使用

在PHP开发中对比起Cookie,session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制。下面则是对Session的介绍。 php中的Session...

php 移除数组重复元素的一点说明

如:复制代码 代码如下:$test_array=array(1,2,3,4,4,5,5,6); $test_array_unique=array_unique($test_array);...

php array_key_exists() 与 isset() 的区别

php array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢?本文章将为大家讲解array_key_e...