代码改变世界

PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题

2014-03-05 18:40  youxin  阅读(298)  评论(0编辑  收藏  举报

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

例如:

<?php
echo empty(strlen('be-evil.org'));

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

Noteempty() 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('be-evil.org');

echo empty($length);