PHP5.5和之前的版本empty函数的不同之处
发布:smiling 来源: PHP粉丝网 添加日期:2021-02-19 11:53:03 浏览: 评论:0
这篇文章主要介绍了PHP5.5和之前的版本empty函数的不同之处,开发时需要注意,假如你的本地开发PHP版本是PHP5.5以上,而服务器低于PHP5.5,更要注意这个问题,需要的朋友可以参考下。
作为我最喜欢使用的函数之一,今天也终于发现这个函数的恶魔之处。洋洋洒洒写了以下代码,本地测试一切ok,到服务器上就SB了,代码如下:
- if(strlen($passwd) < 6 || emptyempty($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这个函数可以应用于任何值,而不局限于变量。可以为常量、函数返回值等等。
Tags: PHP5 5 empty
相关文章
- ·php中fgetcsv函数在php5.2.8 中的数据不完整(2013-12-07)
- ·PHP5.5 安装后出现不能调用json_encode 解决办法(2013-12-08)
- ·PHP5匿名函数的实例(2016-01-28)
- ·PHP5.3与5.5废弃与过期函数整理汇总(2021-03-19)
- ·自己写的兼容低于PHP 5.5版本的array_column()函数(2021-04-18)
- ·PHP5.2下preg_replace函数的问题(2021-05-25)
- ·php 自定义UTF8和cp1251函数(2013-11-28)
- ·php md5 与md5_file区别详细说明(2013-11-28)
- ·php 5.3 闭包语法介绍 function() use() {}(2014-02-27)
- ·php 自定义复杂MD5加密函数(2014-08-22)
- ·php md5加密函数参考详解(2014-08-23)
- ·windows中PHP 5.2.17安装eAccelerator方法(2014-08-25)
- ·PHP 5.3与5.5废弃/过期函数整理(2015-04-11)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)