我是PHP的新手,我无法使这个无限的while循环工作。我正在尝试使无限循环生成1到10之间的随机数,并输出这些数字的立方根,并在生成5时终止循环。到目前为止,我有下面的代码,我不知道我错了。任何帮助或指导将非常感谢。PHP无限虽然循环终止
$counter = rand(1, 10);
while ($counter==5) {
break;
if ($counter >5 or $counter<5) {
echo sqrt($counter) . "</br>";
}
$counter++;
}
编辑:我刚才听了你们给我下面的建议,我注意到一些错误我做了我自己,如“或”变成“和”。不过,我仍然不明白为什么它不会产生一个数字为1-10的循环来表示他们的权力?
while(true)
{
$counter = rand(1, 10);
if ($counter <=10) {
echo sqrt($counter) . "</br>";
}
if($counter ==5) break;
}
您while循环永远只能甚至开始做第一次迭代,如果随机值正好是5,但是你不关心和不该做什么如果这个迭代真的发生了,就要做任何事情 - 无论发生什么,你都会首先摆脱循环。如果你没有那样做,那么你继续做那些毫无意义的东西,然后检查那个必须是5的随机值是否大于或小于5.逻辑不是很多你的东西? – CBroe
我正在学习队友。我明白你在说什么。这是否意味着我在这个问题中使用if语句是无关紧要的? – madoreo
如果是多余的,你只需要让你的while循环条件正确。循环结束,一旦条件不再被满足,所以当然必须是'$ counter!= 5'。如果最初产生的随机值不是5,那么你的while循环甚至不会启动10次,甚至不会启动这个问题。你想为此使用一个'do ... while'循环 - 它总是运行至少一次,并且只在循环体运行后检查条件。你也忽略了创造一个_new_随机值,你只做过一次。这部分属于do while while循环,第一件事。 – CBroe