PHP Array Pointer Funktionen

Es gibt eine Reihe sehr nützlicher PHP Array Funktionen, die manch ein Entwickler noch nicht ganz oder garnicht geläufig sind. Und dazu zähle ich mich auch und bin froh über diese – bei einem Codereview – gestolpert zu sein. Die Rede ist von current(), next(), prev(), reset(), end() und each().

Ich stelle jede eben genannte mal kurz vor. Unser Setup ist ein Array:

$namens_array = [
 'Karl',
 'Friedrich',
 'Gustav',
 'Richard',
 'Otto',
 'Jochan'
];  

current()

Die Funktion current() gibt den Wert des aktuellen Elements in einem Array zurück. Jedes Array hat einen internen Zeiger auf sein “aktuelles” Element, der auf das erste in das Array eingefügte Element initialisiert wird.

echo current($names_array);
// Output: Karl 

next()

Die Funktion next() bewegt den internen Zeiger auf das nächste Element im Array und gibt es aus.

echo next($names_array);
// Output: Friedrich 

prev()

Bewegt den internen Zeiger auf das vorherige Element im Array und gibt es aus.

echo current($names_array);
// Output: Karl

echo next($names_array);
// Output: Friedrich

echo prev($names_array);
// Output: Karl 

reset()

Anders als man denkt, wird hier kein Element des Arrays gelöscht. Man bewegt lediglich den internen Zeiger auf das erste Element des Arrays. Nennen wir es den Pointer zurücksetzen.

echo next($names_array);
// Output: Friedrich

echo reset($names_array);
// Output: Karl

end()

Gibt den Wert des aktuellen und des letzten Elements in einem Array aus:

echo end($names_array);
// Output: Jochan

each()

Each ist seit PHP 7.2. veraltet und sollte nicht mehr genutzt werden.

Posted in PHP

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*

Empfholende Artikel


PHP Das doppelte Fragezeichen

December 11, 2020

Ich erinnere mich noch an den Tag, wo PHP 7 kam. Da war ich zwischenzeitlich mal Angestellter bei einem Berliner Reise StartUp in Prenzelberg. Bis dahin schrieben wir unsere Anwendung in PHP 5.6 und es war ein wilder Mix aus Prozedural und Objektorientierung. Das war schon eine spannende Sache und man merkte das PHP den […]