Якщо ви не проти знищити масив (або його тимчасову копію), ви можете зробити:
$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--;
}
Але, як бачите, ви повинні бути дуже обережними з покажчиком ...