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

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

6年前    添加回复 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<

6年前    添加回复 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 ''; }

3年前    添加回复 0

好想胖十斤

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

4年前    添加回复 0

好想胖十斤

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

4年前    添加回复 0

′─*Ab君

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

5年前    添加回复 0

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

5年前    添加回复 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

6年前    添加回复 0

冰雪环绕

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

6年前    添加回复 0

小气的王二狗

continue 相当于跳过 筛选条件

6年前    添加回复 0

小圈圈~

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

6年前    添加回复 0

大学生de小铺子

作业需要自己去写的达

6年前    添加回复 0

小崔

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

6年前    添加回复 0

我只是一条咸鱼哈

加油\(^o^)/~

6年前    添加回复 0

悟以往

签到

6年前    添加回复 0

for嵌套循坏

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

时间:2年前

流程控制语句

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

时间:5年前

for的双层循环作业怎么做

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

时间:6年前

for单层循环

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

时间:6年前

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

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

时间:6年前

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

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

时间:7年前

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