Podręcznik PHP
Poprzedni |  | Następny

# count

(PHP 3, PHP 4, PHP 5)

count -- Zlicza ilość elementów w tablicy lub pól obiektu

## Opis

int count ( mixed zmienna [, int tryb] )

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`.

> Notatka: 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.

Uwaga!
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().

Poprzedni | Spis treści | Następny
compact | Początek rozdziału | current