PHP5.5和之前的版本empty函数的不同之处

 更新时间:2014年06月13日 10:48:58   投稿:junjie  
这篇文章主要介绍了PHP5.5和之前的版本empty函数的不同之处,开发时需要注意,假如你的本地开发PHP版本是PHP5.5以上,而服务器低于PHP5.5,更要注意这个问题,需要的朋友可以参考下

作为我最喜欢使用的函数之一,今天也终于发现这个函数的恶魔之处。洋洋洒洒写了以下代码,本地测试一切ok,到服务器上就SB了。

复制代码 代码如下:

if(strlen($passwd) < 6 || empty($preg_replace("/\d/", "", $passwd))) {
    //do something
}

大致的意思就是,密码必须大于6位切不能只由数字组成。找遍服务器日志,发现如下错误:
复制代码 代码如下:

PHP Fatal error: Can't use function return value in write context in /xxx/xxx/xx.php on line xxx

google了一下,大概是说,empty的参数不能为函数。我靠,本地明明是好的。看了下本地的PHP是5.5的,服务器是5.3的。难道这函数在2个版本之间就进化了么?找遍了PHP官方的文档没有发现任何端倪,然后google狂搜,不小心点到了PHP英文文档界面,在empty函数的介绍下面,发现了一行小字:

复制代码 代码如下:

Note:
Prior to PHP 5.5, empty() only supports variables; anything else will result in a parse error. In other words, the following will not work: empty(trim($name)). Instead, use trim($name) == false.

恶魔啊,不带这么坑中文用户的。总结下empty函数的使用场景:

1.PHP 5.5之前的版本,这个函数是用来检查变量的赋值是否为0, false, 空字符串, null。任何非变量形式的参数都是导致这个函数报错。
2.PHP 5.5这个函数可以应用于任何值,而不局限于变量。可以为常量、函数返回值等等。

相关文章

  • php中get_defined_constants函数用法实例分析

    php中get_defined_constants函数用法实例分析

    这篇文章主要介绍了php中get_defined_constants函数用法,实例分析了get_defined_constants函数的功能、定义及使用技巧,需要的朋友可以参考下
    2015-05-05
  • PHP中Date()时间日期函数的使用方法小结

    PHP中Date()时间日期函数的使用方法小结

    PHP开发中Date()时间日期函数的使用方法php date() 函数可把时间戳格式化为可读性更好的日期和时间。
    2011-04-04
  • PHP合并数组的2种方法小结

    PHP合并数组的2种方法小结

    大家都知道PHP中两个数组合并可以使用+或者array_merge,但之间还是有区别的,而且这些区别如果了解不清楚项目中会要命的!这篇文章给加总结介绍了PHP合并数组的2种方法,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2016-11-11
  • php查询类的方法总结

    php查询类的方法总结

    在本篇文章里小编给大家整理了一篇关于php查询类的方法总结内容,对此有兴趣的朋友们可以跟着学习下。
    2022-01-01
  • 上传文件先创建目录 再上传到目录里面去

    上传文件先创建目录 再上传到目录里面去

    上传文件先创建目录,其实应该先加入判断文件夹是否存在,不存在则创建文件夹的,希望朋友们自行添加,这里给出的是核心代码。
    2010-12-12
  • PHP设计模式之观察者模式定义与用法分析

    PHP设计模式之观察者模式定义与用法分析

    这篇文章主要介绍了PHP设计模式之观察者模式定义与用法,结合实例形式分析了php观察者模式的概念、原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • Godaddy空间Zend Optimizer升级方法

    Godaddy空间Zend Optimizer升级方法

    虽然购买了godaddy的空间,期间也遇到很多的问题,在慢慢的额摸索中,也有的一些解决的方法。
    2010-05-05
  • 自制PHP框架之路由与控制器

    自制PHP框架之路由与控制器

    本文给大家介绍的是自制php框架的第一步,学会使用路由和控制器,非常的详细,有需要的小伙伴可以参考下
    2017-05-05
  • javascript数组与php数组的地址传递及值传递用法实例

    javascript数组与php数组的地址传递及值传递用法实例

    这篇文章主要介绍了javascript数组与php数组的地址传递及值传递用法,实例分析了javascript与php的数组使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • PHP 文件类型判断代码

    PHP 文件类型判断代码

    这篇文章主要为大家介绍一下判断php文件类型的代码,需要的朋友可以参考一下
    2009-03-03

最新评论