Du liest:
PHP count: Anzahl an Array-Werten zählen

PHP count: Anzahl an Array-Werten zählen

von Patrick
11.05.2020
Jetzt PHP programmieren lernen

Oft müssen wir wissen, wie viele Elemente ein Array oder Objekt hat.
Um das herauszufinden, stellt uns PHP count Funktion zur Verfügung, welche ich in diesem Beitrag demonstrieren werde.

1. Werte mit PHP count und sizeof zählen

Mit count kannst du die Anzahl der Elemente eines Arrays zählen.
Ebenfalls lässt sich count auf Objekte von Klassen anwenden, die das Interface Countable implementieren. Dazu mehr im zweiten Abschnitt.

count($array_oder_objekt, $modus)
    $array_oder_objekt (erforderlich)
        Das Array oder Objekt, das gezählt werden soll
    $modus (optional)      
        Der angewendete Modus
        Standardwert ist 0
        0: zählt nur die Elemente in einem Array
        1: zählt alle Elemente in einem multidimensionalen Array

Der Parameter $modus kann zwei Werte annehmen.
Diese sind COUNT_NORMAL (=0) und COUNT_RECURSIVE (=1).
count gibt den Wert 0 für ungesetzte Variablen zurück.
Allerdings warnt PHP auch, wenn für count ein Objekt übergeben wird, das weder Array noch zählbar ist.

Um nun einfach die Anzahl der Elemente deines Arrays herauszufinden, kannst du count mit diesem aufrufen.

$array = ['Code', 'Citrus'];
echo count($array);
// 2

$array []= 'foo';
$array []= 'bar';
echo count($array);
// 4

Um alle Elemente in einem mehrdimensionalen Array zu zählen, kannst du als zweiten Parameter COUNT_RECURSIVE oder 1 übergeben.

$array = ['Code', ['Citrus']];
echo count($array);
// 2

echo count($array, COUNT_RECURSIVE);
// 3

Du kannst statt count auch sizeof verwenden.
Allerdings ist sizeof nur ein Alias von count.
Das heißt, dass beide eigentlich dieselbe Funktion sind, nur unter verschiedenen Namen. Da sizeof auch in der Programmiersprache C existiert und dort die Größe des Arrays im Speicher zurückgibt, solltest du sizeof in PHP nicht verwenden, um unnötige Verwirrung zu vermeiden.

2. Eigene Klassen zählbar machen mit Countable

Um deine eigenen Klassen zählbar zu machen, kannst du einfach das Interface Countable (siehe php.net: Countable) implementieren und die öffentliche Methode count.

class Zaehlbar implements Countable {
    private $count = 42;
 
    public function count() {
        return $this->$count;
    }
}
$zaehlbar = new Zaehlbar();
echo count($zaehlbar);
// 42

3. Fazit

Die Funktion count präsentiert uns einen einfachen Weg, die Elemente eines Arrays zu zählen.
Mit dem zusätzlichen Parameter $modus und den Optionen COUNT_NORMAL und COUNT_RECURSIVE ist es einfach, auch die Werte mehrdimensionaler Arrays zu zählen. Zudem gibt uns das Interface Countable noch die Möglichkeit unsere eigenen Klassen von count zählbar zu machen.

Hast du Lob, Kritik, Anmerkungen, Fragen? Dann bitte kommentiere diesen Beitrag!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren