PHP错误:警告:count():参数必须是实现Countable的数组或对象

Posted

技术标签:

【中文标题】PHP错误:警告:count():参数必须是实现Countable的数组或对象【英文标题】:PHP error: Warning: count(): Parameter must be an array or an object that implements Countable 【发布时间】:2019-06-20 05:50:18 【问题描述】:

我将我的 Wordpress 网站从 php 5.6 更新到 7.2,并注意到更新后我的 Wordpress 后端出现错误。它说:

Warning:  count(): Parameter must be an array or an object that implements 
Countable in <b>/homepages/36/d362586048/htdocs/genag/wp- 
content/themes/genag- 
theme/framework/admin/functions/functions.mediauploader.php on line 127

我已经包含了该行的代码和它下面的 2 行。任何帮助将不胜感激。

if ( count( $_posts ) ) 
$_id = $_posts->ID;
 else 

【问题讨论】:

接受我的编辑。如果没有编辑,您的问题看起来很糟糕。 【参考方案1】:

$_posts 似乎是一个对象,您应该像使用对象$_posts-&gt;ID 一样使用它。所以不能像数组一样计算。

if ( $_posts ) 

应该做的工作

【讨论】:

解决了!谢谢。【参考方案2】:

http://php.net/manual/en/function.count.php

您可以在php中使用is_countable()函数来检查一个对象是否支持计数功能。

【讨论】:

【参考方案3】:

在 PHP 7.2 中,count() 方法不支持 Null 作为参数。

在我的一个旧的基于 Avada 主题的 wordpress 网站中,我有相同的 error

我已经使用以下修改解决了它。

if ( (!empty($_posts)) && (count( $_posts ) )  $_id = $_posts->ID;  else 

【讨论】:

以上是关于PHP错误:警告:count():参数必须是实现Countable的数组或对象的主要内容,如果未能解决你的问题,请参考以下文章

PHP 警告:count(): 参数必须是数组或实现 Countable 的对象

MYBB 警告 [2] count():参数必须是数组或实现 Countable 的对象 - 行:906

PHP 警告:count():参数必须是在 C:\\htdocs\my.php 中实现 Countable 的数组或对象 [关闭]

警告:sizeof():参数必须是数组或实现可数php7.2的对象

./libraries/plugin_interface.lib.php#551 count() 中的警告:参数必须是数组或实现 Countable 的对象

警告:count():参数必须是一个实现Countable的数组或对象(在数组中是多维的)