我有一个列表,每个项目之间都带有符号|。在这里,我想循环浏览这些项目中的每一个。这里的问题是循环会创建一个具有空值的额外循环。这里不应该显示这个额外的循环。
我做错了什么?
.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++) {