PHP:为什么这是一个无限循环? $x=0; $y=0; 而($x
我正在尝试使用PHP脚本批量生成SQL语句,以生成从0到6的x,y坐标的所有可能组合。总共应该有49个组合,我不想一个接一个地插入它们。我正在努力弄清楚这是一个无限循环的原因。你的第一个PHP:为什么这是一个无限循环? $x=0; $y=0; 而($x,php,loops,while-loop,combinations,infinite-loop,Php,Loops,While Loop,Combinations,Infinite Loop,我正在尝试使用PHP脚本批量生成SQL语句,以生成从0到6的x,y坐标的所有可能组合。总共应该有49个组合,我不想一个接一个地插入它们。我正在努力弄清楚这是一个无限循环的原因。你的第一个后面似乎有一个分号,而,逻辑上说 $x = 0; $y = 0; while ($x < 6); { while ($y < 6) { echo "INSERT INTO map_location(xLoc,yLoc) VALUES ($x,$y)"; $y++;
后面似乎有一个分号,而,逻辑上说
$x = 0;
$y = 0;
while ($x < 6);
{
while ($y < 6)
{
echo "INSERT INTO map_location(xLoc,yLoc) VALUES ($x,$y)";
$y++;
}
$x++;
}
$x=0;
而($x<6);
//上面的语句总是正确的,因为x=0(0小于6),因此总是循环。
删除分号后,应该设置分号。此语句:
$x = 0;
while ( $x < 6 );
// the above statement is always going to be true because x = 0 (and 0 is less than 6), hence, always going to loop.
while($x<6);
基本上是这样的:
while ($x < 6);
while($x<6){}
这是一个无限循环。试试这个:
while ($x < 6) { }
用于($x=0;$x删除第一个while循环后的分号。这一行将无休止地循环,根本不会进入代码的其余部分。另外,正如所写的,当变量为5时,循环将停止-您应该再次将检查修改为GAH,分号!感谢andrewsiWell,它也不值得进行升级表决。因此,现在有了b即使是固定的,这也为OP留下了一些重复次数,我认为我们可以接受,对吗?循环的最后一次迭代在6处停止,使用无限循环
@sircapsalot:)
for ($x=0;$x<=6;$x++)
for ($y=0;$y<=6;$y++)
echo "INSERT INTO map_location(xLoc,yLoc) VALUES ($x,$y) <br />";