首页 > 解决方案 > 错误 php 7.1 -> 7.2 :count(): 参数必须是一个数组或一个在具体 5 插件中实现 Countable 的对象

问题描述

我有一个不受支持的具体 5 插件,在将 php 7.1 升级到 7.2 时显示此错误

我对 php 了解不多,并询问是否有人对下面的代码有一个简单的解决方案。

<?php
$arr_tags = array();
foreach ($pages as $page) {
    $tags = $page->getAttribute('tags');
    if ($tags && count($tags)) {
        foreach ($tags as $tag) {
            $arr_tags[] = $tag;
        }
    }
}
$unique_tags = array_unique($arr_tags);
$keys = array_keys($unique_tags, '');
foreach ($keys as $k) {
    unset($unique_tags[$k]);
}
?>

count():参数必须是数组或者实现了Countable的对象

标签: php

解决方案


您可以尝试将 $tags 变量转换为数组。(看看这里:PHP:计算一个 stdClass 对象)。

count($tags) would be count((array)$tags)

推荐阅读