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."<br />";
//计算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 "<br />";   
}
?>

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值