为什么这个只打印0,1,2

时间:2016-12-28 07:20:58

标签: php for-loop

这个没有花括号的嵌套for循环只打印0,1,2 ...... 当回显出第一个for循环的输出时,它一直运行到2.但最终输出为0,1,2 ..为什么会这样?

<?php 

    for($x = 0; $x<3; $x++) 
        for($x = 0; $x<3; $x++)
            echo $x;

?>

2 个答案:

答案 0 :(得分:1)

对于所需的输出0,1,2,0,1,2,0,1,2

更改循环变量的第二个

因为有相同的变量,它忽略了外循环的执行

for($x = 0; $x<3; $x++) 
        for($y = 0; $y<3; $y++)
            echo $y;

答案 1 :(得分:0)

正如你问的那样:

  

为什么只打印0,1,2

for($x = 0; $x<3; $x++) //2nd time when it check the condition $x become 3; 3<3 fails
    for($x = 0; $x<3; $x++)//After this loop value of $x becomes 3
        echo $x; //

因为在$x的内部循环值变为3并且外部循环失败后,因为您使用相同的变量名称,

您可以在此处查看:uint