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

问题描述 投票:-2回答:1

我试图用这种方法计算多维数组的所有记录:

$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()来解决。有人可以帮我解决这个问题吗?如果存在更好的方法来计算这个,对我来说还可以:)在此先感谢您好

php arrays count warnings
1个回答
-1
投票

传入一个检查以下内容的匿名函数:

$totals=intval(
  array_sum(
    array_map(
      function($a){
        if( is_countable($a) ) { return count($a); }
        else { return 1; }
      },
      $array_name[$id]
    )
  )
);
© www.soinside.com 2019 - 2024. All rights reserved.