PHP之流程控制(五)
for循环结构:
for(表达式1[初始化值]表达式2[条件判断语句];表达式3[增量或者减量]) {
语句
}
第一次执行:表达式1——>表达式2【条件成立】——>语句——>表达式3
第二次执行:表达式2【条件成立】——>语句——>表达式3
。。。。。。
for循环的执行过程如下:
(1)计算表达式1的值,为循环控制变量赋初值,该语句只在循环开始时执行一次;
(2)计算表达式2的值,如果其值为TRUE,则执行循环体语句,否则退出循环;
(3)在每一次执行循环体语句结束后,运行一次表达式3,以调整循环控制变量。然后返回第2步重新计算表达式2的值,依次重复,直到表达式2的条件不成立为止。
*********************************************************************************************************
我们可以把表达式1,表达式2,表达式3一一提出来
//我们来计算从1到100的和
1>把表达式1提出来
<?php
$i=1;
for(;$i<=100;$i++){
$j+=$i;
}
echo “从1加到100的结果是:”.$j;
?>
2>把表达式2提出来
<?php
for($i=1;;$i++){
if($i>100){
break;
}
$j+=$i;
}
echo “从1加到100的结果是:”.$j;
?>
3>把表达式3提出来
<?php
for($i=1;$i<=100;){
$j+=$i;
$i++;
}
echo “从1加到100的结果是:”.$j;
?>
从1加到100的结果是:5050
**************************************************************************************************************************************
几种for循环的变种:
1、无限循环【所谓的死循环】
由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果。
<?php
for (;;) {
//放置需要不断执行的语句
}
?>
我们可以在无限循环中嵌套终止语句使其能够利用
<?php
$i=1;
for(;;){
if($i>100){
break;
//当i>100的时候跳出整个循环体
}
$j+=$i;
$i++;
}
echo “从1加到100的结果是:”.$j;
?>
从1加到100的结果是:5050
2、使用没有循环体的for来优化算法
<?php
//计算1-9的累加结果,斌值到$j
for ($i = 1,$j = 0; $i <= 9;$j += $i++);
echo “1到9的累加结果为”.$j.”
“;
//计算1-9的阶乘结果,斌值到$j
for ($i = 1,$j = 1; $i <= 9;$j *= $i++);
echo “1到9的阶乘结果为”.$j;
?>
结果为:
1到9的累加结果为45
1到9的阶乘结果为362880
3、双重循环
我们继续写一个小九九
<?php
for($i=1;$i<10;$i++)\{
for($j=1;$j<=$i;$j++)\{
echo $j .'\*'. $i.'= '.$i\*$j."\\t";
\}
echo "
";
\}
?>
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4= 12 4*4= 16
1*5= 5 2*5= 10 3*5= 15 4*5= 20 5*5= 25
1*6= 6 2*6= 12 3*6= 18 4*6= 24 5*6= 30 6*6= 36
1*7= 7 2*7= 14 3*7= 21 4*7= 28 5*7= 35 6*7= 42 7*7= 49
1*8= 8 2*8= 16 3*8= 24 4*8= 32 5*8= 40 6*8= 48 7*8= 56 8*8= 64
1*9= 9 2*9= 18 3*9= 27 4*9= 36 5*9= 45 6*9= 54 7*9= 63 8*9= 72 9*9= 81
还没有评论,来说两句吧...