PHP无限While循环终止

PHP无限While循环终止,php,while-loop,Php,While Loop,我是PHP新手,我很难让这个无限while循环正常工作。我试图使一个无限while循环生成1到10之间的随机数,并输出这些数的立方根,以及在生成5时终止循环。到目前为止,我有下面的代码,我不知道我会错在哪里。任何帮助或指导都将不胜感激 $counter = rand(1, 10); while ($counter==5) { break; if ($counter >5 or $counter<5) { echo sqrt($counter) .

我是PHP新手,我很难让这个无限while循环正常工作。我试图使一个无限while循环生成1到10之间的随机数,并输出这些数的立方根,以及在生成5时终止循环。到目前为止,我有下面的代码,我不知道我会错在哪里。任何帮助或指导都将不胜感激

$counter = rand(1, 10);
while ($counter==5) {
    break; 
    if ($counter >5 or $counter<5) { 
        echo sqrt($counter) . "</br>"; 
    } 
    $counter++;
}
$counter=rand(1,10);
而($counter==5){
打破

如果($counter>5或$counter您正在中断循环,而(正在进行)您的计数器等于5,并且如果您的条件满足,则只回显一次。 你可能想做的事情可能看起来像

while(true)
 {
   $counter = rand(1 , 10);
   #echo stuff
   if($counter == 5) break;
  }

如果随机值恰好为5,那么while循环甚至只会开始进行第一次迭代。但是如果迭代真的发生,那么你不在乎也不想做任何事情——不管发生什么,你都会首先打破循环。如果你没有这样做,你会继续做没有意义的事情,然后检查whe这个随机值,必须是5才能达到这个程度,要么大于或小于5。逻辑不是你喜欢的东西吗?我在学习,伙计。我明白你的意思。这是否意味着我在这个问题中使用if语句是不相关的?if是多余的,你只需要正确地设置while循环条件。循环结束,一旦该条件不再满足,那么当然必须是
$counter!=5
。仍然存在一个问题,即如果最初生成的随机值恰好不是5,while循环甚至不会启动10次中的9次。您希望为此使用
do…while
循环,该循环始终至少运行一次,并且只进行检查循环体运行后的条件。您也忽略了创建一个新的随机值,您只创建了一次。首先,该部分属于do while循环。谢谢,我将更改代码以适应此情况“但是我仍然不明白为什么它不会生成一个以数字1-10为幂的循环?”-因为除非你有一台量子计算机,否则计数器永远不会同时大于5和小于5,这是你的if条件仍然要求的。我明白你的意思!我修改了代码以适应这一点,但是我仍然无法得到生成的数字的幂。
while(true)
 {
   $counter = rand(1 , 10);
   #echo stuff
   if($counter == 5) break;
  }