Forum und email

count

(PHP 4, PHP 5)

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.

Example#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
?>

Example#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($foodCOUNT_RECURSIVE); // gibt 8 aus

// normales zählen
echo count($food); // gibt 2 aus

?>

Siehe auch is_array(), isset() und strlen().