PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context
主要原因就是empty只能检测一个变量,如果你让他检测一个返回值,就会报出上面错误。我在本地wamp环境测试中,使用 if(empty($_REQUEST['value']))判断能够正常运行,但是上传到LNMP环境服务器上后,运行报错。。。。。
例如:
<?php
if(empty($_REQUEST['value']))
到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
$res= $_REQUEST['value'];
echo empty($res);