count
(PHP 4, PHP 5)
count — Megszámolja egy tömb elemeit, vagy egy objektum tulajdonságelemeit
Leírás
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.
Note: 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.
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.
Example#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
?>
Example#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().