for 循环的语法是: 代码如下 复制代码for (expr1; expr2; expr3)statement下面说说for语句几种有用的变型。1、无限循环这种也叫死循环,没有开始和结束一直就这样下去  //放置需要不断执行的语句}?> 死循环如果在当中配合if else ,break也可以跳出循环 代码如下 复制代码 //如果是公元2199年,则跳出循环 http://www.hzhuti.com/nokia/n93/ if (date('Y') == '2199') {  break; }}?> 2、使用空表达式  接下来就是说说在初始化语句expr1中使用null语法,留空expr1最常见的作用就是完成更为复杂的初始化工作。 代码如下 复制代码 unset($i); if ((int) date('')   $i = 0; } else {  $i = 1; }} else { $i =3;}for (;$i  echo $i;}?>   同样道理,迭代表达式expr3也可能留空,也可以利用这点编写更为复杂的迭代式,比如说根据不同的条件调用不同的迭代式。  而for语句中的条件语句expr2留空则是上面所说的无限循环,当然也可以添加一些更为复杂的条件去判断什么时候跳出循环,在此不在重复。3、多重循环  使用多重循环来控制多个变量也是在for语句中使经常被忽略的一个特性。如下面的例子,在一般的任务中用到的一般会是双重循环,三重以上的循环一般意义不大。 echo "$i + $j = 10rn";}?> 以上代码将输出:0 + 10 = 101 + 9 = 102 + 8 = 103 + 7 = 104 + 6 = 105 + 5 = 106 + 4 = 107 + 3 = 108 + 2 = 109 + 1 = 1010 + 0 = 10如果我们要半路跳出循环怎么操作,实例看下面这个多重循环嵌套的例子:for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;echo”$m n”;if($m 190) {break 2;}}} break 2跳出了两重循环,你可以试验一眼,将2去掉,得到的结果是完全不一样的。如果不使用参数,跳出的只是本次循环,第一层循环会继续执行下去。注:break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。 4、更为复杂的表达式如果把for语句的三个表达式写得复杂一些,则可以用于优化算法。甚至可以使用没有循环体的for语句来完成一些任务。比如计算累加或阶乘:for ($i = 1,$j = 0; $i echo $j;//计算1-5的阶乘结果,斌值到$jfor ($i = 1,$j = 1; $i echo $j;?> 如果我想执行到一个地方,自动调出当前循环执行一下-实例if($i % 3 == 0 || $i % 7 == 0){continue;}}else{echo”$i n”;}}?> PHP的代码片段的作用是输出100以内,既不能被7整除又不能被3整除的那些自然数,循环中先用if条件语句判断那些能被整除的数,然后执行continue;语句,就直接进入了下个循环。不会执行下面的输出语句了。注:continue 是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。 摘自 php开发
08-26 19:15