(PHP 4, PHP 5, PHP 7)
count — Zählt alle Elemente eines Arrays oder etwas in einem Objekt
Zählt alle Elemente eines Arrays oder etwas in einem Objekt.
Wenn Sie die SPL installiert haben, können Sie in Objekten eine count()-Funktion nutzen, indem Sie das Interface Countable implementieren. Das Interface hat exakt eine Methode, nämlich Countable::count(), die den Rückgabewert der Funktion count() zurückliefert.
In der Sektion Arrays finden Sie eine detaillierte Erklärung, wie Arrays in PHP implementiert sind und wie sie benutzt werden.
array_or_countable
Ein Array oder Countable Objekt.
mode
Wenn der optionale Parameter mode
auf
COUNT_RECURSIVE
(oder 1) gesetzt ist, wird
count() rekursiv durch das Array zählen.
Dies kann besonders nützlich sein, um alle Elemente eines
mehrdimensionalen Arrays zu zählen.
count() kann Rekursion erkennen, um eine
Endlosschleife zu vermeiden, wird aber jedes Mal, wenn es das tut, ein
E_WARNING
erzeugen (im Fall, dass das Array sich
selbst mehr als einmal enthält), und gibt dann eine höhere Anzahl zurück
als möglicherweise erwartet.
Liefert die Anzahl von Elementen in array_or_countable
.
Ist der Parameter kein Array oder Objekt mit implementiertem
Countable Interface, wird 1
zurückgegeben. Es besteht eine Ausnahme, wenn var
NULL
ist, wird 0 zurückgegeben.
count() gibt 0 zurück, wenn die Variable nicht gesetzt ist, aber sie gibt ebenfalls 0 zurück, wenn die Variable als leeres Array initialisiert wurde. Verwenden Sie isset() um zu testen, ob eine Variable gesetzt ist.
Beispiel #1 count()-Beispiel
<?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
$food = array('Obst' => array('Orange', 'Banane', 'Apfel'),
'Gemüse' => array('Karotte', 'Kohl', 'Erbse'));
// rekursiv zählen
echo count($food, COUNT_RECURSIVE); // gibt 8 aus
// normales zählen
echo count($food); // gibt 2 aus
?>