PHP count: Anzahl an Array-Werten zählen

    Logo der Programmiersprache PHP
    Avatarbild von Patrick
    Patrick

    veröffentlicht am: 11.05.2020
    zuletzt aktualisiert am: 07.02.2023

    PHP count & PHP sizeof: Anzahl der Elemente ermitteln!

    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.

    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.

    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

    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!

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig