(PHP 4, PHP 5)
count — Zlicza ilość elementów w tablicy lub pól obiektu
Zwraca ilość elementów w parametrze zmienna
,
która zazwyczaj będzie tablicą, jako że wszystko inne będzie miało
jeden element.
Dla obiektów, jeśli zainstalowane zostało rozszerzenie SPL, możliwe jest podłączenie do count() poprzez zaimplementowanie interfejsu Countable. Interfejs ten posiada dokładnie jedną metodę, count(), która zwraca wartość, którą ma zwrócić funkcja count().
Jeśli zmienna
nie jest tablicą ani obiektem z
zaimplementowanym interfejsem Countable, to zwracana
będzie wartość 1. Istnieje jeden wyjątek - jeśli
zmienna
będzie miała wartość NULL
, zwrócona
zostanie wartość 0.
Informacja: Opcjonalny argument
tryb
dostępny jest od wersji PHP 4.2.0.
Jeśli opcjonalny argument tryb
ustawiony jest na
COUNT_RECURSIVE
(lub 1), count()
będzie zliczał elementy rekurencyjnie. Jest to przydatne przy zliczaniu
ilości wszystkich elementów tablicy wielowymiarowej. Domyślna wartość
argumentu tryb
to 0.
count() nie wykrywa nieskończonej rekurencji.
count() może zwrócić 0 dla zmiennej, która nie została zainicjalizowana, ale możę zwrócić także 0 dla zmiennej która została zainicjalizowana pustą tablicą. Użyj isset() aby sprawdzić czy zmienna została ustawiona.
Więcej informacji na temat sposobu implementacji tablic w PHP można znaleźć w rozdziale Tablice.
Przykład #1 Przykład użycia count()
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$wynik = count ($a);
// $wynik == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$wynik = count ($b);
// $wynik == 3
$wynik = count(null);
// $wynik == 0
$wynik = count(false);
// $wynik = 1
?>
Przykład #2 Przykład rekurencyjnego przetwarzania przez count() (PHP >= 4.2.0)
<?php
$jedzenie = array('owoce' => array('pomarańcza', 'banan', 'jabłko'),
'warzywa' => array('marchewka', 'kukurydza', 'groszek'));
// zliczanie rekurencyjne
echo count($jedzenie, COUNT_RECURSIVE); // wyświetli 8
// normal count
echo count($jedzenie); // wyświetli 2
?>
Patrz także: is_array(), isset() i strlen().