在php中反转for循环

时间:2016-03-24 16:28:41

标签: php loops for-loop

我是PHP的新手。我有这个代码以相反的顺序输出一个数组。虽然它的工作原理我不知道为什么特别是$ i = $ num_items - 它的一部分。任何帮助将不胜感激。

<?php
$characters = ['Arthur Dent', 'Ford Prefect', 'Zaphod Beeblebrox', 'Marvin',     'Slartibartfast'];
?>

<ul>
<?php
$num_items = count($characters);
for ($i = $num_items - 1; $i >= 0; $i--) {
    echo "<li>$characters[$i]</li>";
}
?>
</ul>

4 个答案:

答案 0 :(得分:2)

使用array_reverse()函数代替for循环;)

http://php.net/manual/fr/function.array-reverse.php

答案 1 :(得分:1)

在PHP中,数组索引从0开始,我将解释: 假设您的数组中有10个项目,它们从索引0到索引9存储。如果要迭代它,则必须从9开始而不是10.这是项目数-1。

答案 2 :(得分:0)

php中的数组从0开始而不是1,如果你有n个项目的数组,那么你可以从0循环到n-1。

答案 3 :(得分:0)

由于$ i代表数组的索引,$ num_items - 1是因为你从索引0开始。 您可以使用array_reverse()函数,然后使用foreach迭代反转数组。您还可以检查函数asort(),以防您想按字母顺序排列数组。 希望有所帮助!!