Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Liczenie tablicy wielowymiarowej
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Mam taką tablicę:

$tablica[elementy1][elementy2];

gdzie na "elementy1" przypada kilka wartości "elementy2".

W jaki sposób mogę zliczyć ile w tej tablicy znajduje się wartości "elementy2" ?
piotrooo89
  1. $count = 0;
  2. foreach($tab as $k => $v)
  3. {
  4. $count += count($v);
  5. }
thek
Albo wersja bardziej "zajechana"...
  1. $count = count( $tablica, 1 ) - count($tablica);

Ale uwaga na to pierwsze wywołanie count, bo jest rekurencyjne smile.gif Zobacz do manuala zanim napiszesz, bo działa to specyficznie smile.gif Jak? Zlicza klucz i sprawdza czy jest to tablica. Jeśli tak, dolicza wszystkie klucze tej tablicy. Tak wiec mając:
  1. $tab = array( 'jeden' => array('jeden-jeden', 'jeden-dwa') );

wyświetli 3, a nie dwa, gdyż dla takiego count masz 3 elementy: 'jeden', 'jeden-jeden', 'jeden-dwa', a nie tylko te dwa ostatnie. Stąd w równaniu odjąłem od wszystkich zliczonych, liczbę kluczy głównych smile.gif Pamiętaj, że to rekurencja i jesli te 'jeden-jeden' też będą tablicami to jego klucze też zostaną zliczone! Jeśli nie jesteś pewien co tam będzie, lepiej użyj tego co podpowiada piotrooo89 smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.