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