Figyelmeztetés: számítanak (): Paraméter egy tömbnek kell lennie, vagy egy objektum, amely megvalósítja Megszámlálható (a tömb többdimenziós)

szavazat
-2

Próbálom számolni az összes rekordot egy többdimenziós tömb ezzel a módszerrel:

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

De ez ad nekem a következő hibaüzenet jelenik meg:

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

Azt olvastam, hogy ez annak köszönhető, hogy php 7.2, és valójában én csak tette az áttérést a 5-ös verzió, de ha adott szintaxist, nem tudtam megoldani egy isset () vagy egy is_array (). Tud valaki segíteni, hogy megoldja ezt a problémát? Ha létezik egy jobb módja annak, hogy ez a szám, rendben van nekem :) Köszi előre szia

A kérdést 27/11/2018 18:01
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
-1

Pass anonim funkció, amely ellenőrzi:

$totals=intval(
  array_sum(
    array_map(
      function($a){
        if( is_countable($a) ) { return count($a); }
        else { return 1; }
      },
      $array_name[$id]
    )
  )
);
Válaszolt 27/11/2018 18:18
a forrás felhasználó

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