12月25, 2018

整理PHP7.0+的一些变化

整理PHP7.0+的一些变化

1.PHP7.2 count( ) 参数类型更加严格

示例:
echo count('112233');  
list(,$v) = each($_GET);  
报错信息如下:
Warning: count(): Parameter must be an array or an object that implements Countable in ****

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in ***  

可见在php7.2下,count函数仅支持参数为数组, 非数组情况下将报警告. 
解决方法如,增加 is_array 判断:
if(is_array($arr)){  
  count($arr);  
} 

此类报错信息:Warning: count(): Parameter must be an array or an object that implements Countable

这主要是7.2版本更新,部分函数处理更加严谨, 当传递一个无效参数的时候,count()函数会抛出warning的警告

解决办法

1.如果是使用类似composer安装的框架报错,可以尝试 composer update修复。

2.尽量不要传递无效的参数执行count,做好校验判断预防报错。

本文链接:https://baboben.com/post/php7.html