Array-Elemente zählen über count()
Anzahl der Elemente eines Arrays zählen - count
Sie erhalten die Anzahl der Elemente eines Arrays über die Funktion count (arrayname)
- als Rückgabewert erhalten Sie die Anzahl der Elemente als Integer.
<?php
$betriebssystem[] = "Windows";
$betriebssystem[] = "Linux";
$betriebssystem[] = "Solaris";
echo "<p>Im Array befinden sich Einträge: ";
echo count ($betriebssystem);
$betriebssystem[] = "Mac";
$betriebssystem[] = "DOS";
echo "<p>Im Array befinden sich Einträge: ";
echo count ($betriebssystem);
?>
Als Ausgabe am Bildschirm kommt:
Im Array befinden sich Einträge: 3
Im Array befinden sich Einträge: 5
count()
kann nicht auf Variablen angewendet werden!
Kommt man auf die Idee und würde die Funktion count()
auf eine Variable anwenden, erhält man die folgende Fehlermeldung!
Warning: count(): Parameter must be an array or an object that implements Countable
Hierzu der FALSCHE Quellcode:
$wort = "Hallo Welt";
count($wort); // NICHT MÖGLICH!
Mehrdimensionale Arrays: alle Einträge zählen
Wenn man auf ein mehrdimensionales Array die Funktion count()
anwendet, erhält man die Anzahl der ersten Ebene. Das kann manchmal gewünscht sein, aber öfters benötigt man die Anzahl aller Elemente des mehrdimensionalen Arrays. Dazu gibt es die Möglichkeit die Funktion count()
rekursiv auszurufen. Der Aufbau des Befehls ist: count($beispielarray, COUNT_RECURSIVE)
. Anstelle von COUNT_RECURSIVE
funktioniert auch die Übergabe von „1“.
Im folgenden Beispiel rufen wir das Array im ersten Schritt ohne „COUNT_RECURSIVE“ auf und im zweiten Durchgang lassen wir es rekursiv durchgehen, um die Anzahl aller Elemente zu erhalten:
<?php
$beispielarray = array(
'Tiere' => array('Hund', 'Katze', 'Maus'),
'Länder' => array('USA', 'Russland', 'Japan')
);
echo '<p>normales zählen über count():<br> ';
echo count($beispielarray); // gibt 2 aus
echo '<p>rekursiv zählen über count($array, COUNT_RECURSIVE):<br> ';
echo count($beispielarray, COUNT_RECURSIVE); // gibt 8 aus
?>
Als Ergebnis erhalten wir:
normales zählen über count(): 2
rekursiv zählen über count($array, COUNT_RECURSIVE): 8
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: