参数必须是实现 Countable 的数组或对象如何解决这个问题?

Posted

技术标签:

【中文标题】参数必须是实现 Countable 的数组或对象如何解决这个问题?【英文标题】:Parameter must be an array or an object that implements Countable how fix this? 【发布时间】:2019-12-31 17:29:35 【问题描述】:

我有一个错误:警告:count():参数必须是数组或实现可计数的对象

public static function setSection( $section, $section_data = array(), $additional_section_data = array() ) 
    if(count($additional_section_data) > 0 && !empty($additional_section_data))
        $section_data['fields'] = array_merge($section_data['fields'], $additional_section_data);
    

    self::$sections[ $section ] = $section_data;

【问题讨论】:

var_dump() $section_data['fields']$additional_section_data 看看你得到了什么。 $additional_section_data 在调用此函数时可能不是数组。如果您省略参数,它将是一个数组,但是当您不省略参数时,您需要确保传递可数。 【参考方案1】:

这个问题意味着变量$section_data 不是一个数组。尝试使用gettype 函数找出变量的类型,或使用var_dump 显示它。

【讨论】:

如果你删除它,你会在函数 array_merge 的下一行遇到问题。 $additional_section_data 不是数组,an 不是空的。你会在结果数组中得到什么?)

以上是关于参数必须是实现 Countable 的数组或对象如何解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章

参数必须是数组或实现了 Countable 的对象

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

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

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

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

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