Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte...
https://www.Artfiles.de
 
 
 

Elemente eines Arrays zählen mit count

Sie befinden sich: Home > Php Tutorial > Elemente eines Arrays...

Elemente eines Arrays zählen mit count


Eintrag am:  26.08.2010
Hits / Besucher:  7646
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Die Funktion count() zählt die Elemente in einem Array und gibt deren Anzahl als Ganzzahl zurück. Sie gehört zu den am häufigsten verwendeten Array-Funktionen in PHP und kommt überall dort zum Einsatz, wo die Größe eines Arrays eine Rolle spielt, etwa bei Schleifen, Validierungen oder Paginierung.

Grundlegende Verwendung

count() erwartet ein Array als Parameter und gibt die Anzahl der enthaltenen Elemente zurück:

<?php

$staedte = ['Berlin', 'Hamburg', 'München'];

echo count($staedte); // 3
?>

Der Rückgabewert ist immer ein int. Bei einem leeren Array gibt count() den Wert 0 zurück.

Praxisbeispiel: Formular-Validierung

Ein häufiger Anwendungsfall ist die Prüfung, ob ein Benutzer mindestens eine Option ausgewählt hat:

<?php

$auswahl = ['PHP', 'JavaScript'];

if (count($auswahl) < 1) {
echo 'Bitte mindestens eine Sprache auswählen.';
} else {
echo count($auswahl) . ' Sprachen ausgewählt.';
}
/* Ausgabe: 2 Sprachen ausgewählt. */
?>

Wer nur wissen möchte, ob ein Array leer ist, kann alternativ empty() verwenden. Das ist etwas sprechender als der Vergleich count($array) === 0.

Mehrdimensionale Arrays mit COUNT_RECURSIVE

Standardmäßig zählt count() nur die Elemente auf der ersten Ebene. Mit der Konstante COUNT_RECURSIVE als zweitem Parameter werden auch alle verschachtelten Elemente mitgezählt:

<?php

$teams = [
'Backend' => ['Anna', 'Ben'],
'Frontend' => ['Clara', 'David', 'Eva']
];

echo count($teams); // 2
echo count($teams, COUNT_RECURSIVE); // 7
?>

Der Wert 7 ergibt sich aus den zwei Schlüsseln der ersten Ebene plus den fünf Namen in den Unter-Arrays. Um nur die Personen zu zählen, kann die Differenz gebildet werden: count($teams, COUNT_RECURSIVE) - count($teams) ergibt 5.

count() in Schleifen

Beim Einsatz von count() in einer for-Schleife empfiehlt es sich, den Wert vorher in einer Variablen zu speichern. So wird die Funktion nicht bei jedem Durchlauf erneut aufgerufen:

<?php

$produkte = ['Laptop', 'Maus', 'Tastatur'];
$anzahl = count($produkte);

for ($i = 0; $i < $anzahl; $i++) {
echo ($i + 1) . '. ' . $produkte[$i] . '<br>';
}
/* Ausgabe:
1. Laptop
2. Maus
3. Tastatur */
?>

Bei kleinen Arrays macht das kaum einen Unterschied. Bei größeren Datenmengen oder in Performance-kritischen Bereichen ist es aber eine gute Gewohnheit.

sizeof() als Alias

Die Funktion sizeof() ist ein Alias für count() und verhält sich identisch. In der Praxis wird fast ausschließlich count() verwendet, da es eindeutiger ist. sizeof() stammt aus der C-Welt und kann dort leicht verwechselt werden.

 

Tags:

 

Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.