添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

count(): Parameter must be an array or an object that implements
Countable in xxx目录xxx.php文件xxx line

今天朋友下载了个WordPress主题,结果就报错了,上网查询得知是php从7.0升级到7.2后对参数要求更严格了,修改思路也有了
1. 降低网站php版本 ,这个朋友第一时间就pass掉了
2. 修改报错php文件的源码
当然只能选第二条了

在这里插入图片描述
报错的是746行,根据注释,这里是 如果传进来的是数组并且数组值等于1 ,才进行747行代码
由于是对数组的操作,就不能把count()换成strlen()函数,这是针对字符串的改法
我们只需要把传进了的 变量包裹在一对括号 里就OK了,参考下图
当然你也可以用if先判断啥的
在这里插入图片描述
再上传到WordPress后台一切这就正常了

近期重装开发机器环境,运行项目发现报错 count (): Parameter must be an array or an object that implements Count able 查询官方手册发现7.2版本的 php 有更新, count 传入非数组的变量会出现warning: 升级 php 版本时需注意。 以下是一个 Array Access 最小示例 <? php class Foo implements \ Array Access , \ Count able , \ IteratorAggregate use qtil\ Array Access , qtil\ Count able , qtil\ IteratorAggreg <? php require_once ( 'vendor/autoload. php ' ); use Armagetron \ Parser \ ParserInterface ; class Example implements ParserInterface public function playerEntered ( Event $ event ) // Do something with $event composer require jmgq/a-star 创建一个实现DomainLogicInterface的类。 此界面中这三种方法的参数是节点。 节点可以是任何类型:它可以是 字符串 ,整数,对象等。您可以根据业务逻辑来确定节点的形状。 您可以选择提供一种方法来标识您的节点()。 use JMGQ \ AStar \ DomainLogicInterface ; class DomainLogic implements DomainLogicInterface // .. Warning: count (): Parameter must be an array or an object that implements Count able 解决 think php 3项目在开发时弹出一个警告Warning: count (): Parameter must be an array or an object that implements Count able 。 这说明coun... 在 php 7.2版本中 count () 函数仅支持参数为数组,在非数组的情况下将报错如下: count (): Parameter must be an array or an object that implements Count able in xxx/shop/alipay/alipay_core.function. php on line 23 解决 方案可在执行前判断一下if(is_ array ($a... 后台从 PHP 7.0版本升级到7.2版本就报这个 错误 ,是由于 PHP 7.2版本中将严格执行类型区分,参数类型不正确,将会出现警告,所以需要在使用 count 方法时注意参数的值 要不去检查参数的类型是否正确 要不就再换回 PHP 的版本 报错信息:Warning: count (): Parameter must be an array or an object that implements Count able 这主要是7.2版本更新,部分方法变得更加严谨了 当传递一个无效参数的时候, count ()函数会抛出warning的警告 解决 办法 1.如果是使用laravel框架报错的话,composer update一下就可以修... Warning: count (): Parameter must be an array or an object that implements Count able 因为 php 版本原因报错 $ array = array ( array ("1","2","3","4"), array ("a","b","c")); function each_ array ($arr){ if (is_ array ($arr)){ array _map("each_ array ",$arr); 报错信息: count (): Parameter must be an array or an object that implements Count able (View: -----------------. php ) 简单来说, 就是7.2版本起, count ()函数中的参数必须是数组或者对象。 建议:在使用 count 函数计数之前,使用is_*来判断具体的类型,不是此类型使用强制转换 ( array )或者抛出异常 try catch,之后在使用 count 函数进行计数 1.当我们使用laravel框架做项目时,经常会使用composer安装一些扩展包,这样可能会导致原本好好功能突然出现bug,开始报错不能使用,我在使用七牛云上传图片的时候结合webuploader上传到七牛云的时候就出现了这个问题。 报错内容: count (): Parameter must be an array or an object that implements Count able in file; 刚开始的时候慌得一批,在网上找各种 解决 方案,最后跟人讨论找到了 解决 方案 解决 方案: Warning in ./libraries/sql.lib. php #613 count (): Parameter must be an array or an object that implements Count able sudo vim /usr/share/ php myadmin/libraries/sql.lib. php 将( count ($analyzed_sql_result...