2014-02-12 59 views
-1
<!DOCTYPE html> 
<html> 
    <head> 
     <title>A loop of your own</title> 
     <link type='text/css' rel='stylesheet' href='style.css'/> 
    </head> 
    <body> 
    <?php 
    //Add while loop below 
    $hello = true; 
    while($hello = true): 
    { 
     echo "Loop is runnin"; 
     for($i = 0; $i <= 3; $i++) 
     { 
      $hello = false; 
     } 
    } 
    endwhile 
    ?> 
    </body> 
</html> 

我的錯誤是:無限循環。在while循環中的語句不起作用?

我該如何解決這個問題?我練;-)

我想了一會兒循環中循環,代碼必須說3次「循環運行」,然後讓

變量$你好假。

$hello = true; 
while($hello == true): 
    echo "Loop is runnin"; 
    for($i = 0; $i < 3; $i++) 
    { 
     $hello = false; 
    } 
endwhile; 

這是結果,但如果你們有你會看到它銳利的眼睛,for循環WIL只運行一次:P因爲它會嘗試設置$招呼3倍時間爲false。

但還是非常感謝大家的回答我的問題;)

+1

1.'while'語句之後做了什麼? 2. $ hello == true是邏輯表達式,$ hello = true是賦值。你需要第一個。 – sashkello

+0

@sashkello它開始一個*選擇,而語法*。 – deceze

+2

@deceze在這種情況下,那些花括號是幹什麼的? ;) – PeeHaa

回答

1

只要做到這一點。

$hello = 0; 

while($hello < 3): 

    echo "Loop is runnin"; 
    $hello++; 
endwhile; 
+1

這不完全是我想要的,但它效果很好。謝謝! – STP38

3

嘗試做這樣的:

while($hello == true) 
{ 
    echo "Loop is runnin"; 
    for($i = 0; $i <= 3; $i++) 
    { 
     $hello = false; 
    } 
} 
endwhile; 

您需要使用==,而不是=進行比較,以及您的endwhile

後加入 ;

如果您只想回顯Loop is running 3次,您需要更改:

for($i = 0; $i <= 3; $i++) 

到:

for($i = 0; $i < 3; $i++) 

或:

for($i = 1; $i <= 3; $i++) 
+0

找出差異...? – deceze

+0

@deceze ==而不是= – sashkello

+2

爲什麼不明確指出? – deceze

0

檢查PHP manual語法,你需要一個 ';'在你結束之後。由於您在while語句後使用了冒號,因此不應將大括號內的while循環代碼括起來。嘗試;

$hello = true; 
    while($hello = true): 

     echo "Loop is runnin"; 
     for($i = 0; $i <= 3; $i++) 
     { 
      $hello = false; 
     } 

    endwhile;