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.