Iterieren

Das Iterieren mit Hilfe der For-Each-Schleife wurde unter den Kontrollstrukturen behandelt. Da diese Schleife jedoch optimal für das Iterieren über assoziative Arrays geeignet ist, wird sie an dieser Stelle noch einmal vorgestellt:

oder vereinfacht ohne Schlüssel:

Alternativ kann ein indexiertes Array ohne Lücken auch einfach über den Index mit Hilfe einer normalen For-Schleife durchlaufen werden. Es sei darauf hingewiesen, dass auch indexierte Arrays immer assoziative Arrays darstellen. Diese verfügen über fortlaufende numerische Schlüssel. Somit darf folgende Methode als Alternative zu dem oben genannten Vorgehen gesehen werden:

Mit der Funktion array_walk() lässt sich PHP anweisen, für jedes Element eines Arrays eine Funktion aufzurufen. Die Funktion bekommt von array_walk() Parameter übergeben. Der erste Parameter ist der Wert des Array-Eintrags. Der zweite optionale Parameter ist der Schlüsselwert des Arrays. Zusätzlich kann ein Nutzerdaten-Parameter übergeben werden. Dieser wird der Funktion array_walk() als letzter optionaler Parameter übergeben und dann der aufgerufenen Funktion mit übergeben. Als zweiter Parameter der Funktion array_walk() kann entweder der Name der aufzurufenden Funktion als String angegeben werden oder an dieser Stelle wird die Funktion wird als eine anonyme Funktion definiert. Folgendes Beispiel zeigt die unterschiedlichen Alternativen:

Die Funktion array_key_exists() prüft, ob ein Schlüsselwert in einem Array vorhanden ist. Als erster Parameter wird der gesuchte Schlüssel und als zweiter Parameter das zu durchsuchende Array übergeben. Wenn der Schlüssel gefunden wurde, gibt die Funktion true zurück.

Mit in_array() wird ein Array nach einem Wert durchsucht. Dabei wird wieder der gesuchte Wert als erster Parameter übergeben. Den zweiten Parameter stellt das zu durchsuchende Array dar. Wird der Wert gefunden, so gibt die Funktion true zurück.

Müssen die Schlüssel eines Arrays als Array verfügbar sein, so können ist hierfür die Funktion array_keys zu nutzen. Als erster Parameter wird das Originalarray übergeben. Als zweiten Parameter kann ein Suchwert übergeben werden. Nach diesem Suchbegriff wird in den Werten des Arrays gesucht. Wird der Suchwert übergeben, werden nur die Schlüssel zurückgegeben, deren Schlüssel diese Werte beinhalten. Über einen dritten optionalen booleschen Parameter lässt sich angegeben, ob die Prüfung strikt durchgeführt werden soll oder ob eine Wertegleichheit ausreicht. Wird kein Suchwert angegeben, so werden alle Schlüssel zurückgegeben.

Die Funktion array_values tut das gleiche für die Werte eines Arrays. Einziger Übergabeparameter ist das Originalarray selbst. Mit der Funktion ist es möglich, aus einem assoziativen Array ein Array mit einem numerischen Index zu generieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert