Jeśli nie masz nic przeciwko zniszczeniu tablicy (lub jej tymczasowej kopii), możesz zrobić:
$stack = array("orange", "banana", "apple", "raspberry");
while ($fruit = array_pop($stack)){
echo $fruit . "\n<br>";
}
produkuje:
raspberry
apple
banana
orange
Myślę, że to rozwiązanie czyta czystsze niż majstrowanie przy indeksie i jest mniej prawdopodobne, że wprowadzisz błędy obsługi indeksów, ale problem z nim polega na tym, że twój kod prawdopodobnie potrwa nieco dłużej, jeśli będziesz musiał najpierw utworzyć tymczasową kopię tablicy . Majstrowanie przy indeksie prawdopodobnie będzie działać szybciej, ale może się również przydać, jeśli rzeczywiście potrzebujesz odwołać się do indeksu, na przykład:
$stack = array("orange", "banana", "apple", "raspberry");
$index = count($stack) - 1;
while($index > -1){
echo $stack[$index] ." is in position ". $index . "\n<br>";
$index--;
}
Ale jak widać, z indeksem trzeba bardzo uważać ...