Nếu bạn không ngại phá hủy mảng (hoặc một bản sao tạm thời của nó), bạn có thể làm:
$stack = array("orange", "banana", "apple", "raspberry");
while ($fruit = array_pop($stack)){
echo $fruit . "\n<br>";
}
sản xuất:
raspberry
apple
banana
orange
Tôi nghĩ rằng giải pháp này đọc rõ ràng hơn so với việc tìm kiếm một chỉ mục và bạn ít có khả năng mắc lỗi xử lý chỉ mục hơn, nhưng vấn đề với nó là mã của bạn có thể sẽ mất nhiều thời gian hơn để chạy nếu bạn phải tạo một bản sao tạm thời của mảng trước. . Tìm kiếm một chỉ mục có khả năng chạy nhanh hơn và nó cũng có thể hữu ích nếu bạn thực sự cần tham khảo chỉ mục, như trong:
$stack = array("orange", "banana", "apple", "raspberry");
$index = count($stack) - 1;
while($index > -1){
echo $stack[$index] ." is in position ". $index . "\n<br>";
$index--;
}
Nhưng như bạn thấy, bạn phải rất cẩn thận với chỉ mục ...