PHP kézikönyv
Előző |  | Következő

# count

(PHP 3, PHP 4, PHP 5)

count -- Megszámolja egy tömb elemeit, vagy egy objektum tulajdonságelemeit

## Leírás

int count ( mixed var [, int mode] )

Visszaadja a var változó elemeinek számát, amely általában array(tömb) típusú, mivel az objektumokon kívül bármi másnak csak egy eleme lehet.

Obkektumok vizsgálata esetén, ha az SPL kiterjesztés telepítve van, lehetővé válik a count() működésének befolyásolása. Ezt a Countable interfész egyetlen, count() nevű eljárásának megadásával tudjuk megtenni. Ekkor ennek a függvénynek az eredménye lesz a count() visszaadott értéke.

Ha a var paraméter nem tömb vagy egy Countable interfésszel ellátott objektum, akkor 1-et ad vissza. Egyetlen kivétel a count(`NULL`), ez esetben 0 lesz a visszatérési érték.

> Megjegyzés: A mode paraméter a PHP 4.2.0 változatától kezdve használható.

Ha a nem kötelezően megadandó mode paraméternek `COUNT_RECURSIVE` értéket (vagy 1-et) adunk meg, a függvény rekurzívan fogja megszámolni a tömbelemeket. Ilyen rekurzív megszámlálásnak például többdimenziós tömbök esetén van haszna. A mode paraméter alapértelmezett értéke 0. A count() nem észleli az esetleges végtelen ciklusokat kiváltó helyzeteket.

Figyelem
A count() 0-val térhet vissza definiálatlan változók esetén és üres tömbök esetén is. Az isset() segítségével lehet megvizsgálni, hogy a változó be van-e állítva.

Olvasd át a kézikönyv Tömbök c. fejezetét a PHP-ban megvalósított tömbök részletes magyarazátáért.

Példa 1. count() példa
`<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $eredmeny = count($a); // $eredmeny == 3 $b[0] = 7; $b[5] = 9; $b[10] = 11; $eredmeny = count($b); // $eredmeny == 3 $eredmeny = count(null); // $eredmeny == 0 $eredmeny = count(false); // $eredmeny == 1 ?>`

Példa 2. Példa a count() rekurzív használatára ((PHP >= 4.2.0))
`<?php $etelek = array( 'gyümölcsök' => array('szilva', 'barack', 'alma'), 'zöldségek' => array('répa', 'karfiol', 'retek')); // Összeszámolás rekurzív módon echo count($etelek, COUNT_RECURSIVE); // 8 // Összeszámolás hagyományosan echo count($etelek); // 2 ?>`

Lásd még: is_array(), isset() és strlen().

Előző | Tartalom | Következő
compact | Fel | current