Если вы не против уничтожить массив (или его временную копию), вы можете сделать:
$stack = array("orange", "banana", "apple", "raspberry");
while ($fruit = array_pop($stack)){
echo $fruit . "\n<br>";
}
производит:
raspberry
apple
banana
orange
Я думаю, что это решение читается чище, чем возня с индексом, и у вас меньше шансов ввести ошибки обработки индекса, но проблема в том, что ваш код, вероятно, займет немного больше времени, если вам нужно сначала создать временную копию массива . Работа с индексом, вероятно, будет выполняться быстрее, и это также может пригодиться, если вам действительно нужно ссылаться на индекс, как в:
$stack = array("orange", "banana", "apple", "raspberry");
$index = count($stack) - 1;
while($index > -1){
echo $stack[$index] ." is in position ". $index . "\n<br>";
$index--;
}
Но, как видите, с индексом нужно быть очень осторожным ...