Wenn es Ihnen nichts ausmacht, das Array (oder eine temporäre Kopie davon) zu zerstören, können Sie Folgendes tun:
$stack = array("orange", "banana", "apple", "raspberry");
while ($fruit = array_pop($stack)){
echo $fruit . "\n<br>";
}
produziert:
raspberry
apple
banana
orange
Ich denke, diese Lösung liest sich sauberer als das Fummeln mit einem Index, und es ist weniger wahrscheinlich, dass Sie Fehler bei der Indexbehandlung einführen. Das Problem dabei ist jedoch, dass die Ausführung Ihres Codes wahrscheinlich etwas länger dauert, wenn Sie zuerst eine temporäre Kopie des Arrays erstellen müssen . Das Fummeln mit einem Index läuft wahrscheinlich schneller und kann auch nützlich sein, wenn Sie tatsächlich auf den Index verweisen müssen, wie in:
$stack = array("orange", "banana", "apple", "raspberry");
$index = count($stack) - 1;
while($index > -1){
echo $stack[$index] ." is in position ". $index . "\n<br>";
$index--;
}
Aber wie Sie sehen, müssen Sie mit dem Index sehr vorsichtig sein ...