Im folgenden Tutorial möchte ich ihnen genauer erläutern, wie man mit der count()-Funktion in PHP die Anzahl der Elemente in einem Array bestimmt und welche weiteren Möglichkeiten man hat, dass Verhalten der count()-Funktion zu beeinflussen. Dazu übergibt man count() einfach das Array, dessen Elemente gezählt werden soll. Der Rückgabewert von count() entspricht dabei der Elementanzahl und kann direkt verwendet oder in einer Variablen gespeichert werden. Auf den zweiten, optionalen, Parameter 'Modus' gehe ich später ein.
Syntax:
count(Array, optionaler Modus);
Code für Beispiel 1:
<?php
$festivals = array('SonneMondSterne', 'Rock am Ring', 'Nature One');
$festivals_anzahl = count($festivals);
echo 'Es gibt in den Array $festivals:' . $festivals_anzahl . '
Festivals.';
?>
Ausgabe von Beispiel 1:
Es gibt in dem Array $festivals: 3 Festivals.
Möchte man aber die Elemente in einem mehrdimensionalen Array zählen, so gibt es dafür den zweiten Parameter 'Modus' in der count()-Funktion.
Code für Beispiel 2:
<?php
$festivals = array(
'Electro Festivals' => array('SonneMondSterne', 'Nature One'),
'Heavy Metal Festivals' => array('Wacken')
);
$festivals_array = count($festivals, 1);
$festivals_anzahl = ($festivals_array-count($festivals, 0));
echo 'Es gibt in den Array $festivals: ' . $festivals_anzahl . '
Festivals.';
?>
Ausgabe von Beispiel 2:
Es gibt in dem Array $festivals: 3 Festivals.
Erklärung:
Wird der zweite Parameter wie in Beispiel 2 auf '1', so werden wirklich alle Elemente des Arrays gezählt, auf '0' werden nur die Elemente der 1. Array-Dimension gezählt. Wird kein zweiter Parameter angegeben, so wird '0' als Standardwert verwendet.
Im vorliegenden Beispiel werden die Festivals den beiden Elementen 'Electro Festivals' und 'Heavy Metal Festivals' zugewiesen, welche nicht mitgezählt werden sollen, da sie nur Kategorien für die einzelnen Festivals darstellen. Deswegen wird die Anzahl der Elemente der 1. Array-Dimension von der Anzahl aller Elemente abgezogen, was durch die unterschiedliche Verwendung des zweiten Parameters der count()-Funktion erreicht wird.