这段PHP代码有什么问题?

时间:2012-10-23 11:04:33

标签: php mysql

我试图使用循环语句将不确定数量的名称放入变量值:

while ($row = mysql_fetch_row($resultdq2))
    {
        $name[$i] = $row[2];
        $parent_ID = $row[1];
        $i++;
    }   

然后我尝试使用以下结构回显名称/

$x = 0;
while (isset ($name[$x]))
echo $name[$x];
$x++;

唯一的问题是,这个第二个循环结构会冻结我的pc onload,因此我假设它无限循环。

为什么这样做?假设$x$i是相同的值(即7),那么$name[$x]name[$i]应该是等价的,这是不正确的?

然后,当我的第二个循环中的$name[$x]条件通过指定的变量点时,循环终止了吗?

对于循环语句条件,它是否可能使用全局变量声明$x = 0而不是内部$x值来评估是否满足条件,因此该语句始终为true?

问题是什么,如何纠正?

2 个答案:

答案 0 :(得分:8)

也许添加'{'和'}'来增加计数器?

while (isset ($name[$x])) {
  echo $name[$x];
  $x++;
}

更好地使用foreach,添加is_array支票。写好的代码!

答案 1 :(得分:3)

循环时只有echo $name[$x];。它应该是:

$x = 0;
while (isset ($name[$x]))
{
    echo $name[$x];
    $x++;
}