Upozornění: Počet (): Parametr musí být pole nebo objekt, který implementuje počitatelné (v poli multidimenzionální)

hlasů
-2

Snažím se spočítat všechny záznamy o vícerozměrné pole s touto metodou:

$totals=intval(array_sum(array_map(count,$array_name[$id])));

Ale to mi dává následující chybu:

Warning: count(): Parameter must be an array or an object that implements Countable

Četl jsem, že to je kvůli php 7.2 a ve skutečnosti jsem jen dělal migraci z verze 5, avšak s ohledem na zvláštní syntax, jsem nemohl vyřešit pomocí isset () nebo is_array (). Může mi někdo pomůže vyřešit tento problém? Pokud existuje lepší způsob, aby se tento počet je v pořádku pro mě :) Díky předem Hello

Položena 27/11/2018 v 18:01
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
-1

Předat anonymní funkce, která kontroluje:

$totals=intval(
  array_sum(
    array_map(
      function($a){
        if( is_countable($a) ) { return count($a); }
        else { return 1; }
      },
      $array_name[$id]
    )
  )
);
Odpovězeno 27/11/2018 v 18:18
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more