我是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