如何使用PHP循环遍历数组并将每个项目打印到<li>标签中?

时间:2015-06-02 21:47:36

标签: php html arrays for-loop

我正在尝试使用php迭代数组。我希望将项目存储在<li>标记中。我无法将名称打印出来。我可以计算打印的数组项,但不是名称。

    <ul>
    <?php 
        $names = array('Mike', 'Chris', 'Jane', 'Bob');
        for($i=0; $i < count($names); $i++) {
            echo "<li>" . $i . "</li>";
        }
    ?>
</ul>

6 个答案:

答案 0 :(得分:2)

<ul>
    <?php 
        $names = array('Mike', 'Chris', 'Jane', 'Bob');
        foreach ($names as $name) {
            echo "<li>" . $name . "</li>";
        }
    ?>
</ul>

这比通过索引对数组进行内爆和循环更自然。

您的代码无效是因为您回显了数组中名称的索引而不是实际名称

答案 1 :(得分:1)

你需要回显数组而不是$ i的计数。所以你的回声应该是这样的:

echo "<li>" . $names[$i] . "</li>";

答案 2 :(得分:1)

<ul>
<?php 
    $names = array('Mike', 'Chris', 'Jane', 'Bob');
    foreach($names as $name) {
        echo "<li>" . $name . "</li>";
    }
?>
</ul>

答案 3 :(得分:0)

这应该适合你:

只需implode()您的数组,例如

echo "<li>" . implode("</li><li>", $names) . "</li>";

您当前的代码无效,因为您不会将变量$i用作索引。所以你必须使用:

$names[$i]

答案 4 :(得分:0)

您需要将索引拉出数组,否则您将获得0,1,2,3 ......

<ul>
    <?php 
        $names = array('Mike', 'Chris', 'Jane', 'Bob');
        for($i=0; $i < count($names); $i++) {
            echo "<li>" . $names[$i] . "</li>";
        }
    ?>
</ul>

答案 5 :(得分:-1)

另一种编码方式是:

<ul>
<?php $names = array('Mike', 'Chris', 'Jane', 'Bob'); ?>
<?php foreach ($names as $name) : ?>
<li><?php echo $name ?></li>
<?php endforeach ?>
</ul>