警告:count():参数必须是一个实现Countable的数组或对象(在数组中是多维的)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了警告:count():参数必须是一个实现Countable的数组或对象(在数组中是多维的)相关的知识,希望对你有一定的参考价值。
我试图用这种方法计算多维数组的所有记录:
$totals=intval(array_sum(array_map("count",$array_name[$id])));
但它给了我以下错误:
Warning: count(): Parameter must be an array or an object that implements Countable
我读到这是由于php 7.2,实际上我只是从版本5迁移,但是,鉴于特定的语法,我无法使用isset()或is_array()来解决。有人可以帮我解决这个问题吗?如果存在更好的方法来计算这个,对我来说还可以:)在此先感谢您好
答案
传入一个检查以下内容的匿名函数:
$totals=intval(
array_sum(
array_map(
function($a){
if( is_countable($a) ) { return count($a); }
else { return 1; }
},
$array_name[$id]
)
)
);
以上是关于警告:count():参数必须是一个实现Countable的数组或对象(在数组中是多维的)的主要内容,如果未能解决你的问题,请参考以下文章
PHP警告消息:count():参数必须是实现Countable的数组或对象[重复]
PHP错误:警告:count():参数必须是实现Countable的数组或对象
警告:count():参数必须是一个实现Countable的数组或对象(在数组中是多维的)
./libraries/plugin_interface.lib.php#551 count() 中的警告:参数必须是数组或实现 Countable 的对象