对于while if foeach 等循环的理解

一,for($i=1;$i<=5;$i++){

whike($i<1){

echo 1;

}

}

此串代码会出现死循环,在while循环里当程序执行到echo 1;时会再返回while()继续执行循环。因此出现死循环。解决方法在echo1;后边加上++$i;以此不满足while的条件条件跳出循环。

while循环条只给一个永远为真的条件,就会永远循环下去。如while(1){

}

二,for($i=1;$i<=4;$i++){
foreach(array(0,1,3) as $i) {  

   echo "数字是:";

}}

也会产生死循环,产生原因foreach遍历后的赋值的变量与for循环变量一样,并且for中$i最大值大于foreach最后数组遍历的最大值,所以整段代码会卡在foreach赋值3后到if中去运行这段,解决方法要不foreach中最后对$i的赋值大于if中的最后对$i的赋值。前者循环for运行次数乘以foreach遍历的次数,后这运行次数为for循环此数。



猜你喜欢

转载自blog.csdn.net/xzx__/article/details/80286778
今日推荐