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);

相关文章

php类中private属性继承问题分析

请仔细看这句话 如果父类有私有的属性。那么父类的方法只为父类的私有属性服务。 下面通过一系列列子来加深理解. 这个例子看起来很奇怪,在子类中重新定义了一个属性$sal,系统却返回了父类的...

php 获取文件行数的方法总结

stream_get_line获取文件行数 <?php $file_path = 'xxx.txt'; //文件路径 $line = 0 ; //初始化行数 //...

深入PHP FTP类的详解

FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 F...

PHP中的函数-- foreach()的用法详解

PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产...

php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例

本文实例讲述了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法。分享给大家供大家参考,具体如下: /* *gb2312中文字符串截...