一,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循环此数。