PHP流程控制之for循环控制语句

王同学反复往返与北京和大连,并且在本上记录往返次数。在PHP中还有另外一种实现方式能够实现同样的计数。

for 循环是 PHP 中的一种计数型循环,它的语法比较数活多变。这是一个必须要掌握的知识点。

for (表达示1; 表达示2; 表达示3){
        需要执行的代码段
}
  • 表达式1 是初始化赋值,可以同时赋值多个代码。
  • 表达示2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。
  • 表达示3 在每次循环之后被求值。

我们来写个简单的例子,看看:

<?php
for ($i = 1; $i <= 10; $i++) {
    echo '分手后第'.$i.'年,我全都忘了你的样子<br />';
}
?>

换种写法,我们现判断多个条件试试:

<?php
    for($i=0,$j=10;$i<$j;$i++,$j--){    
    echo $i.'---------'.$j.'<br />';
    }
?>

我们用for循环来打一下9*9的乘法口诀表吧,演示效果如下:
2015-08-08/55c5b92de2c2b

在分析思考过程中切记:在代码中是横着输出的

<?php

//99乘法口诀表从1开始,所以声明一个变量$i = 1,让$i小于10,也就是最大值为9
for($i = 1 ; $i < 10 ; $i++ ){
        //1x1=1,2x2等于4,所以第二次循环的最大值为$i的值,因此$j=1, $j在循环自加的过程当中,只能够小于等于$i

    for($j=1;$j<=$i;$j++){
                //  1 x 2 = 2   2 x 2 = 4啦
        echo $j . 'x' . $i . '=' .($i*$j) . '&nbsp;&nbsp;&nbsp;';
    }
    echo '<br />';

}

我们来试一下break,exit和continue来控制一下9*9乘法口诀表。

语句作用
exitexit之前我们讲过了,从当前处停止后续执行
break之前遇到过,跳出循环或者跳出结构体执行后续代码
continue跳出此次循环,下次循环继续

我们来演示一下break和continue:

<?php
for ($i = 1; $i <= 10; $i++) {

    if($i == 4){
            //待会儿换成continue试试
            
            break;
    }

    echo '分手后第'.$i.'年,我全都忘了你的样子<br />';
}
?>

$i 等于4,break效果如下:
2015-08-08/55c5bba280e19注:上图中第4之后不再执行

$i 等于4,continue效果如下:
2015-08-08/55c5bbcd4fb1b注:上图中第4第丢失了,接着从第5年继续执行了


作业:

用for 的单层循环来控制隔行变色的表格
用for的双层循环来控制隔行变色的表格
默写99乘法口诀表,并在中间$i、$j的位置实验continue和break;

继续学习
||
<?php for ($i = 1; $i <= 10; $i++) { if($i == 4){ //待会儿换成continue试试 break; } echo '分手后第'.$i.'年,我全都忘了你的样子<br />'; } ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
Mr.Lewis

Mr.Lewis

<?php echo '<table width = "500" border = "1">'; for($i = 1; $i <10; $i++) { echo '<tr>'; for($j = 1; $j <=$i; $j++) { echo '<td>'

4年前    添加回复 1

回复
古城旧巷少年已去

古城旧巷少年已去

echo '<table width="100" border="1">'; for($a=0;$a<10;$a++){ if($a%2==0){ echo '<tr bgcolor="#ffc0cb">'; }else{ echo '<tr>'; } for($b=0;$b<

4年前    添加回复 1

回复
邵星星

邵星星

//单循环隔行变色表格,右键查看源代码是乱的tr关闭标签对不上 echo ''; for ($i=0; $i < 100; $i++) { if($i%10 == 0){ if ($i%20 == 0) { echo ''; }else{ echo ''; } } echo ''.$i.''; } if($i%10 == 0){ echo ''; }

1年前    添加回复 0

回复
好想胖十斤

好想胖十斤

双循环变色<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019年8月18日,0018 * Time: 9:55 */ echo '<table width ="700" height ="90" border ="10">'; f

2年前    添加回复 0

回复
好想胖十斤

好想胖十斤

还是不熟练,折腾半天,单循环变色 <?php echo '<table width ="800" border ="1">'; for($i=1;$i<=100;$i++) { if ($i%20==1&&$i>1) { echo '<tr>'; } else if

2年前    添加回复 0

回复
′─*Ab君

′─*Ab君

for ($i=1 ; $i < 10 ; $i++){ if($i==4){ continue; } for( $y=1; $y <= $i; $y++){ echo $y."X".$i."=".($i*$y)." "; } echo &

4年前    添加回复 0

回复
Musket

Musket

echo '<table width="500" border="1">'; for($i=0;$i<10;$i++){ echo $i%2 !== 0 ? '<tr bgcolor="$ccc">':'<tr>'; for($j = 0;$j < 10;$j++){ ech

4年前    添加回复 0

回复
大白兔

大白兔

<?php echo '<table widht="500" border="1">'; for($i=1; $i<=10; $i++){ if($i%2==1){ echo '<tr><td width="500" height="30" bgc

4年前    添加回复 0

回复
冰雪环绕

冰雪环绕

<?php for($i=1; $i<=9; $i++) { for($j=1; $j<=$i; $j++) { echo "{$i}x{$j}=".$i*$j." "; } echo "<br />"; } ?>

4年前    添加回复 0

回复
小气的王二狗

小气的王二狗

continue 相当于跳过 筛选条件

4年前    添加回复 0

回复
小圈圈~

小圈圈~

我没懂单循环和双循环的概念,有谁解释一下吗

4年前    添加回复 0

回复
大学生de小铺子

大学生de小铺子

作业需要自己去写的达

4年前    添加回复 0

回复
小崔

小崔

作业答案在哪里???帮忙解决一下,谢谢

4年前    添加回复 0

回复
我只是一条咸鱼哈

我只是一条咸鱼哈

加油\(^o^)/~

4年前    添加回复 0

回复
悟以往

悟以往

签到

4年前    添加回复 0

回复

for嵌套循坏

[最新 逆旅行人 的回答]如果是九九乘法表的话,每次最外层的for循环的时候,第二层的for循环都为$j=1

时间:5个月前

流程控制语句

[最新 小生我怕怕啊 的回答]function  jiubiao(){ for($i=1,$i

时间:3年前

for的双层循环作业怎么做

[最新 beautiful.tomrrow 的回答]你这个数字都排在一行,没办法在规定的数字换行

时间:4年前

for单层循环

[最新 phpcn_u14296 的回答]好的,谢谢

时间:4年前

關於作業的問題,拜託一定要幫幫我,不然我連吃飯睡覺都會在想這個問題的

[最新 ringa_lee 的回答]看这些一堆的大写中文,就有点晕了哈,我想知道你现在这个问题解决了没有

时间:4年前

"$i++"表示什么意思?

[最新 数据分析师 的回答]"$i++"表示什么意思?-PHP中文网问答-"$i++"表示什么意思?-PHP中文网问答围观一下哦,学习一下。

时间:5年前

浮世绘梦

浮世绘梦

作业: 用for 的单层循环来控制隔行变色的表格 用for的双层循环来控制隔行变色的表格 默写99乘法口诀表,并在中间$i、$j的位置实验continue和break;

1年前 0

邵星星

邵星星

//双循环隔行变色表格 echo ''; for ($i=0; $i < 10; $i++) { if ($i%2 == 0) { echo ''; }else{ echo ''; } for ($j=0; $j < 10; $j++) { echo ''.($i*10+$j).''; } echo ''; } echo '';

1年前 0

秋城

秋城

exit exit之前我们讲过了,从当前处停止后续执行 break 之前遇到过,跳出循环或者跳出结构体执行后续代码 continue 跳出此次循环,下次循环继续

2年前 0

秋城

秋城

for (表达示1; 表达示2; 表达示3){ 需要执行的代码段 } 表达式1 是初始化赋值,可以同时赋值多个代码。 表达示2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。 表达示3 在每次循环之后被求值。

2年前 0

Fraster

Fraster

for (表达示1; 表达示2; 表达示3){ 需要执行的代码段 }

2年前 0

Вечный миг

Вечный миг

exit 从当前处停止后续执行 break 跳出循环或者跳出结构体执行后续代码 continue 跳出此次循环,下次循环继续

3年前 0

啊啊啊啊啊啊啊啊啊欧

啊啊啊啊啊啊啊啊啊欧

exit:当前处后面的再也不执行;break:跳出循环执行后面的代码;continue:仅跳出此次循环。

3年前 0

ʘᴗʘ

ʘᴗʘ

语句 作用 exit 从当前处停止后续执行 break 跳出循环或者跳出结构体执行后续代码 continue 跳出此次循环,下次循环继续

3年前 0

城南花已开

城南花已开

<?php //单循环结构 echo '<table width="800" border="1">'; for($i=0;$i<100;$i++){ if($i%10==0){ if($i%20==0){ echo '</tr>'; }else{ echo '<tr bgcolor="pink"/>'; } } echo '<td>'.$i.'</td>'; } if($i%10==0){ echo '</tr>'; } echo '</table>'; ?>

3年前 0

城南花已开

城南花已开

<?php //双循环结构 echo '<table width="800" border="1">'; for($i=0;$i<10;$i++){ for($j=$i*10;$j<10*($i+1);$j++){ echo '<td>'.$j.'</td>'; } if($i%2==0){ echo '<tr bgcolor="pink" />'; }else{ echo '</tr>'; } } echo '</table>'; ?>

3年前 0

、宿命

、宿命

<?php echo '<table border="1" width="200">'; for($i=0;$i<100;$i++){ if($i%10==0){ if($i%20==0){ echo '<tr>'; }else{ echo '<tr bgcolor="pink">'; } } echo '<td>'.$i.'</td>'; } if($i%10==0){ echo '</tr>'; } echo'</table>'; ?>

3年前 0

张桂维

张桂维

<?php echo '<table width="800" border="1">'; for($i=0;$i<100;){ if($i%10==0){ if($i%20==0){ echo "<tr>"; }else{ echo "<tr bgcolor='pink'>"; } }echo "<td>".$i."</td>"; $i++; if($i%10==0){ echo "</tr>"; } } echo "<br>"; ?>

3年前 0

waiting for.

waiting for.

<?php for($i=1;$i<10;$i++) { for($j=1;$j<=$i;$j++) { echo $j.'*'.$i.'='.($i*$j).'&nbsp;'; } echo '<br/>'; } echo '<br/>'; for($s=1;$s<10;$s++) { if($s==4) { continue; } echo '分手后第'.$s.'年,我全都忘了你的样子'.'<br/>'; } echo '<br/>'; //单层 //双层 echo '<table width="800" border="1">'; for ($a=0; $a<100; $a++) { if($a%10==0) { if($a%20==0) { echo '<tr bgcolor="pink">';} else { echo '<tr>'; } } echo '<td>'.$a.'</td>'; } if($a%10==0) { echo '</tr>'; echo '</table>';} ?>

3年前 0

攀多多

攀多多

if($i%2==0){ echo '<tr bgcolor="pink">';} else echo '</tr>';

3年前 0

攀多多

攀多多

<?php echo '<table width="800" border="1">'; for ($a=0; $a<100; $a++) { if($a%10==0){ if($a%20==0){ echo '<tr bgcolor = "red">'; }else{ echo '</tr>'; } } echo '<td>'.$a.'</td>'; } echo '</table>'; ?>

3年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~