从分解项目开始的 for 循环中的额外循环


Extra loop in for-loop from exploded items

我有一个列表,每个项目之间都带有符号|。在这里,我想循环浏览这些项目中的每一个。这里的问题是循环会创建一个具有空值的额外循环。这里不应该显示这个额外的循环。

我做错了什么?

.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>";
    }               
    ?>

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

第二:不要使用内部循环条件count因为它是在每一步中计算的,而且你不希望它 - 改用foreach

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

由于您的起始索引为 0,因此请从 for 条件中删除"=",或者您可以从 1 开始 x 的值。

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

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

使条件如下所示

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

从条件中删除"<="。

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