Function.count
Aus PHP-Wiki
count — Zählt die Elemente einer Variable oder Attribute eines Objekts
Beschreibung
int count (mixed $var [, int $mode ] )
Liefert die Anzahl von Elementen in var
,
welches typischerweise ein Array ist, da alles andere
ein Element enthält.
Für Objekte, wenn die SPL installiert
ist, gibt es die Möglichkeit das Interface Countable zu implementieren.
Dieses Interface besitzt die Methode count(), die
den Rückgabewert für den Aufruf von count() zurück
liefert.
Ist var
kein Array oder Objekt mit Interface
Countable, wird 1 zurückgegeben (Ausnahme:
count(NULL) ist gleich 0).
Hinweis:
Anmerkung: Der Parameter mode wurde mit PHP 4.2.0 hinzugefügt.
Wenn der optionale Paramter mode
auf
COUNT_RECURSIVE (oder 1) gesetzt ist, wird
count() rekursiv die Anzahl der Elemente
ermittelt. Das ist besonders nützlich um alle Elemente eines
mehrdimensionalen Arrays zu ermitteln. Der voreingestellte Wert
von mode
ist 0.
count() erkennt keine endlose Rekursion.
Achtung
count() kann 0 zurückgeben wenn die Variable
nicht gesetzt ist, aber sie könnte ebenfalls 0 zurückgeben, wenn
eine Variable als leeres Array initialisiert wurde. Verwenden Sie
isset() um zu testen, ob eine Variable gesetzt
ist.
In der Sektion Arrays
finden Sie eine detaillierte Erklärung, wie Arrays in PHP
implementiert sind und wie sie benutzt werden.
Beispiel #1 count()
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
//$result == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3
$result = count(null);
// $result == 0
$result = count(false);
// $result == 1
?>
Beispiel #2
Rekursives count() Beispiel (PHP >= 4.2.0)
<?php
$food = array('Obst' => array('Orange', 'Banane', 'Apfel'),
'Gemüse' => array('Karrotte', 'Kohl', 'Erbse'));
// rekursiv zählen
echo count($food, COUNT_RECURSIVE); // gibt 8 aus
// normales zählen
echo count($food); // gibt 2 aus
?>
Siehe auch is_array(),
isset() und
strlen().