0

我有一个由标志 | 组成的清单 每个项目之间。在这里,我想遍历这些项目中的每一个。这里的问题是循环创建了一个带有空值的额外循环。这里不应该显示这个额外的循环。

我究竟做错了什么?

PHP:

    <?php   

    $variable['value'] = Something here|Another thing here

    $loop = explode("|", $variable['value']);

    for($x='0';$x<=count($loop);$x++) {

    echo "<span class='icon-caret-right'>";
    echo $loop[$x];
    echo "</span>";

    }               
    ?>
4

3 回答 3

2

首先for循环中的条件不正确 -count值始终等于最大索引 + 1,因此您可以将其更改为$x=0; $x<=count($loop)-1; $x++$x=0; $x<count($loop); $x++

第二:不要使用count内部循环条件 - 因为它在每一步都被计算,你不想要它 - 使用它foreach

第三:为什么$x='0'$x应该是整数,所以$x=0

于 2013-10-29T09:31:43.240 回答
0

做出如下条件

for($x=0;$x<count($loop);$x++) {

从条件中删除“<=”。

for($x='0';$x<=count($loop);$x++) {
于 2013-10-29T09:29:16.167 回答
0

因为你的起始索引是 0,所以从 for 条件中删除“=”或者你可以从 1 开始 x 的值。两者在逻辑上是相同的。

    for($x=0;$x<count($loop);$x++) 

或者

        for($x=1;$x<=count($loop);$x++) 
于 2013-10-29T09:30:43.943 回答