2017-08-12 141 views
-2

我是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; 
} 
+0

您while循環永遠只能甚至開始做第一次迭代,如果隨機值正好是5,但是你不關心和不該做什麼如果這個迭代真的發生了,就要做任何事情 - 無論發生什麼,你都會首先擺脫循環。如果你沒有那樣做,那麼你繼續做那些毫無意義的東西,然後檢查那個必須是5的隨機值是否大於或小於5.邏輯不是很多你的東西? – CBroe

+0

我正在學習隊友。我明白你在說什麼。這是否意味着我在這個問題中使用if語句是無關緊要的? – madoreo

+0

如果是多餘的,你只需要讓你的while循環條件正確。循環結束,一旦條件不再被滿足,所以當然必須是'$ counter!= 5'。如果最初產生的隨機值不是5,那麼你的while循環甚至不會啓動10次,甚至不會啓動這個問題。你想爲此使用一個'do ... while'循環 - 它總是運行至少一次,並且只在循環體運行後檢查條件。你也忽略了創造一個_new_隨機值,你只做過一次。這部分屬於do while while循環,第一件事。 – CBroe

回答

0

我想,你在php中創建一個無限循環?

就在這個代碼

,而(真){ 回聲蘭特(1,10)。 「
」; }

1

你打破了循環WHILE(正在進行)你的計數器等於5,只有在你的條件滿足時纔回顯一次。 你可能想要做可能看起來像

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

我明白你的意思!我更改了代碼以適應這個更多,但是我仍然無法獲得產生的數字以他們的權力。 – madoreo