我试图使用循环语句将不确定数量的名称放入变量值:
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?
问题是什么,如何纠正?
答案 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++;
}