count

(PHP 4, PHP 5, PHP 7)

countZählt alle Elemente eines Arrays oder etwas in einem Objekt

Beschreibung

count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int

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.

Parameter-Liste

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.

Achtung

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.

Rückgabewerte

Liefert die Anzahl von Elementen in array_or_countable. Ist der Parameter weder ein Array noch ein Objekt mit implementiertem Countable Interface, wird 1 zurückgegeben. Es besteht eine Ausnahme, wenn array_or_countable NULL ist, wird 0 zurückgegeben.

Beispiele

Beispiel #1 count()-Beispiel

<?php
$a
[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));

$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));

var_dump(count(null));

var_dump(count(false));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(3)
int(3)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12 // as of PHP 7.2
int(0)

Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14 // as of PHP 7.2
int(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($foodCOUNT_RECURSIVE); // gibt 8 aus

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

?>

Changelog

Version Beschreibung
7.2.0 count() erzeugt nun eine Warnung für ungültige zählbare Typen, die an den array_or_countable-Parameter übergeben wurden.

Siehe auch

  • is_array() - Prüft, ob die Variable ein Array ist
  • isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
  • empty() - Prüft, ob eine Variable einen Wert enthält
  • strlen() - Ermitteln der String-Länge
  • is_countable() - Verify that the contents of a variable is a countable value