2014-12-05 52 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