2014-12-05 92 views
0

此代碼的工作PHP for循環:等於或小於 - 工程,等於 - 創建infinte環

<?php 
    for ($x = 0; $x <= 10; $x++) { 
     echo "The number is: $x <br>"; 
    } 
?> 

但如果不是「< =」我用簡單的「=」 PHP進入一個無限循環那超時

<?php 
     for ($x = 0; $x = 10; $x++) { 
      echo "The number is: $x <br>"; 
     } 
?> 

這是預期的行爲?

+1

不要使用'='來比較,但'=='或'==='。但在這種情況下,你的循環根本就不會運行,那麼你想完成什麼? – jeroen 2014-12-05 18:16:24

回答

2

是的,您正在使用賦值運算符而不是運算符比較運算符。現在沒有辦法讓這個循環結束。

0

是的,它是預期的。

您必須使用< = =,而不是隻

< =是comparaison操作:http://php.net/manual/en/language.operators.comparison.php

=是賦值運算符:http://php.net/manual/en/language.operators.assignment.php

+0

== =='什麼,這是什麼OP應該真正使用,如果他們想看看值是否相等。即使我知道它不會循環,因爲for循環的中間部分永遠不會是真的。 – 2014-12-05 18:22:17

+0

感謝您的快速反饋 - 我目前正在學習PHP,並部分意識到比較/分配的事情,但爲什麼它不會運行在==? $ x從來沒有定義過,並且定義爲0從這裏開始,爲什麼它不等於10? – user85063 2014-12-05 18:50:06

+0

剛剛得到它 - ==只有在x不是10的情況下才運行 - 來自VBA的for循環的邏輯將是FOR x = 0到10 - 它讓我困惑。再次感謝 – user85063 2014-12-05 18:57:26