PHP循环只运行了9次而不是45次?

PHP循环只运行了9次而不是45次?,php,Php,这是我的代码: for($i=0; $i < count($badLinkHolder); $i++) { if($badLinkHolder[$i][0] != "") { echo "<tr><td>{$i}</td><td>{$badLinkHolder[$i][0]}</td><td>{$badLinkHolder[$i][1]}</td&g

这是我的代码:

for($i=0; $i < count($badLinkHolder); $i++)
    {
        if($badLinkHolder[$i][0] != "")
        {
            echo "<tr><td>{$i}</td><td>{$badLinkHolder[$i][0]}</td><td>{$badLinkHolder[$i][1]}</td></tr>";
        }
    }
for($i=0;$i
现在,
$badLinkHolder
有大约45个条目,我可以使用
print\u r()
进行确认。出于某种原因,这个循环只运行了9次,我无法从数组中检索所有数据


有什么帮助吗?我完全困惑了。

你的循环看起来很好。但是,我不确定数组的内容,我建议您首先尝试删除if语句,并用一些伪文本替换它。例如:

for($i = 0; $i < count($badLinkHolder); $i++)
{
  echo "test $i";
}
for($i=0;$i

这样,您可以确保通过循环的次数正确,并且循环中的代码不会出错。另外,您是否回显了count($badLinkHolder)的返回值?

首先,您怎么知道它只运行了9次?我猜您在表中只看到了9行,因此假设您的循环只运行了9次。您有一个
if
语句,该语句声明如果
($badLinkHolder[$i][0]!=”)
,则您将打印出该行

最重要的是,
foreach
在PHP中循环数组要比

$i = 0;
foreach($badLinkHolder as $holder)
{
    if($holder[0] != "")
    {
        echo "<tr><td>{$i}</td><td>{$holder[0]}</td><td>{$holder[1]}</td></tr>";
    }
    $i++;
}
$i=0;
foreach($badLinkHolder作为$holder)
{
如果($holder[0]!=“”)
{
回显“{$i}{$holder[0]}{$holder[1]}”;
}
$i++;
}

哦,天哪,我是个白痴。在$badLinkHolder执行一些不正常的函数并填充大量空值之前,我正在查看它的条目


问题已解决。

您如何知道它运行了9次?那么,$badLinkHolder是否有45个已填写的[0]条目?您能否发布$badLinkHolder的内容。或许您可以提供一份数据的打印副本?你的代码没有问题。对于所有其他36个条目,$badLinkHolder[$i][0]==”?@Joshua:我觉得评论会更好,无论如何,我认为使用
foreach
会更好