首页 > 解决方案 > PHP count():参数必须是数组或者实现了Countable的对象

问题描述

这是文件 public_html/wp-content/themes/arabv3/CustomMetaBox/CMB2.php中我的代码片段,从第 565 行开始

        // if it's an array of one, extract it
    elseif ( is_array( $this->prop( 'object_types' ) ) && count( $this->prop( 'object_types' ) === 1 ) ) {
        $cpts = $this->prop( 'object_types' );
        $type = is_string( end( $cpts ) )
            ? end( $cpts )
            : false;
    }

当我运行代码时,出现以下错误:

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

标签: phpcount

解决方案


你的 PHP 版本?如果它的 7.2 那么 count 函数在计算 stdclass 时会给你错误。

例子:

$count_value = stdClass Object( [asset_id] => 234 [parent_asset_id] => '');

echo count($count_value);

//这在php 7.2版本的情况下会出错

您可以将类型转换为数组或将该标准类设为数组。

您可以查看 php 文档:-

https://www.php.net/manual/en/migration72.incompatible.php#migration72.incompatible.warn-on-non-countable-types


推荐阅读