In diesem Tutorial möchte ich Ihnen zeigen, wie Sie mit Hilfe der next() Funktion in PHP den Zeiger eines Arrays um eine Stelle nach vorne verrücken können.
Der, bei jedem Array vorhandene, interne Zeiger, über den auf die gespeicherten Werte zugegriffen werden kann, muss natürlich auch verschiebbar sein, würde man schließlich sonst nicht an alle Werte herankommen. Zwar übernimmt PHP dies in Funktionen wie der foreach Schleife und nimmt dem Programmierer damit ein wenig Arbeit ab, doch auch manuell ist dies möglich.
Die next() Funktion ermöglicht es dem Programmierer, den Zeiger um genau eine Stelle nach vorne zu rücken und muss dazu nur das entsprechende Array übergeben bekommen. Ihr Komplementär ist die prev() Funktion, welche den Zeiger genau eine Stelle nach hinten rückt.
Die genaue Syntax der next() Funktion ist demnach einfach:
next(Array);
Im folgenden kleinen Beispiel wird die Verwendungsweise der Funktion innerhalb eines Scripts gezeigt:
Der Code des Beispiels:
<?php
$array = array('PHP 3', 'PHP 4', 'PHP 5', 'PHP 6');
echo current($array).'<br>';
next($array);
echo current($array).'<br>';
next($array);
echo current($array).'<br>';
next($array);
echo current($array).'<br>';
?>
Die Ausgabe des Beispiel:
PHP 3
PHP 4
PHP 5
PHP 6
Die Erklärung zum Beispiel:
Da bei der Verwendung der array() Funktion der Zeiger auf dem ersten übergebenen Wert stehen bleibt, gibt die current() Funktion auch diesen beim ersten Aufruf an echo zur Ausgabe zurück. (siehe dazu auch das Tutorial zur current() Funktion)
Der Aufruf der next() Funktion danach hat zur Folge, dass der interne Zeiger des übergebenen Arrays um eine Stelle nach vorne verschoben wird, so dass beim folgenden (zweiten) Aufruf von current auch der zweite Wert an echo zurückgegeben wird. Dies geschieht im obigen Beispiel noch genau zweimal, so dass die beiden anderen Werte des Arrays beim dritten und vierten Aufruf via echo zurückgegeben werden.