Предупреждение: count (): Параметр должен быть массивом или объектом, который реализует Countable (в многомерном массиве) - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь подсчитать все записи многомерного массива с помощью этого метода:

$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 ().Может ли кто-нибудь помочь мне решить эту проблему?Если есть лучший способ сделать это подсчет, хорошо для меня :) Заранее спасибо Привет

1 Ответ

0 голосов
/ 27 ноября 2018

Передайте анонимную функцию, которая проверяет:

$totals=intval(
  array_sum(
    array_map(
      function($a){
        if( is_countable($a) ) { return count($a); }
        else { return 1; }
      },
      $array_name[$id]
    )
  )
);
...