PHP中以下代码的输出是什么?

时间:2017-09-08 05:41:41

标签: php

for($x++ ; $x==2 ; $x=2) 
print "In the for loop" ; 
print "After the loop" ;

没有分配范围。答案是

In the for loop After the loop. 

我并不知道它是怎么回事。?

2 个答案:

答案 0 :(得分:2)

如果你通过for,你会发现所有的表达都是错的 -

for($x++ ; $x==2 ; $x=2)

  

第一个$x++ 0。 - 递增未定义的变量将其设置为1,因为它在算术上下文中使用时将null转换为0。

     

第二个$x==2将返回false,并且不会执行迭代。

     

第三个$x=2将在每次迭代结束时执行。

因此,永远不会执行迭代,因为$x==2总是false

输出循环后

答案 1 :(得分:0)

for($x++ ; $x==2 ; $x=2) 
    print "In the for loop" ; 
print "After the loop" ;

正确缩进这些代码行。

在这里你可以看到print "In the for loop"缩进了循环。其次,如果我们没有loopcondition的范围,那么只有下一行才会成为该范围的一部分。