【PHP学习笔记】for循环 while循环 do while循环 break continue循环控制

循环

让相同代码一次一次的重复运行

for循环

用于预先知道脚本需要运行的次数情况

/**
 * for循环结构
 * for(初始值; 条件; 增量;){
 * 要执行的代码(叫循环体);
 * }
 *初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)
 *条件:循环执行的限制条件。如果为TRUE,则循环继续。如果为FALSE,则循环结束。
 *增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)
 */
for ($i = 1, $j = 0; $i <= 5;) {
    echo "数字为" . $i .$j ;
    echo '<br>';
    $i++;
}

代码解析

$i = 1, $j = 0 为 初始值
$i <= 5 为 条件、
增量则就是 $i++ 了
当$i的数量增加至5时则跳出这个循环,由于没给$j增加条件且没有增量所以$j变量输出不变
其次for ($i = 1, $j = 0; $i <= 5;)中不写[增量]时[条件]的;不能省略不写

while循环

只要指定的条件成立,则循环执行代码块,直到指定的条件不成立

/**
 *注意条件判断,避免死循环
 *while(条件){
 *要执行的代码
 *}
 */
$i = 1;
while ($i <= 5) {
      echo '这是:'.$i.'</br>';
      $i++;
      //输出至5跳出循环
}

do...while循环

语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环

/**
 *do{
 *要执行的代码;
 *}
 *while(条件);
 */
$i = 1;
do{
   echo '这是:'.$i.'</br>'; 
   $i++;
   //输出至6跳出循环
}
while($i <= 5);

continue和break

continue【跳出当前循环】

/**
 * continue的作用是跳出当前的循环【注:不是直接跳出循环】
 * 所以输出的内容没有3就是当条件if成立时则执行continue跳出循环不输出3
 * 但是没有if == 4 或者if == 5 的条件所以是继续输出下去也就是会输出4,5的原因
 */
for ($i = 0; $i <= 5; $i++) {
    if ($i == 3) {
       continue;
    }
    echo $i.'<br>';
    //输出结果为1,2,4,5
}

break && breka2【终止循环】

/**
 * break的作用是跳出整个for循环
 * 所以输出的内容没有3,4,5就是当条件if成立时则执行break跳出循环不输出3
 * 但是没有if == 4 或者if == 5 的条件下也是不输出,直接跳出for循环的这就和continue不一样了
 */
for ($i = 0; $i <= 5; $i++) {
    if ($i == 3) {
       break;
    }
    echo $i.'<br>';
    //输出结果为1,2
}
/**
 * break 2的大体意思就是跳出2层循环
 * break是无法在第二个循环中跳出的
 */
for ($i = 0; $i <= 3; $i++) {
    echo '第一个循环'. $i.'<br>';
    for ($j = 0; $j <= 5; $j++) {
        echo '第二个循环'. $j.'<br>';
        if ($j == 2) {
        break 2;
        }
    }
    
}

小知识

/**
 * 输出的代码为
 * 的一部分也就是 $i == 1
 * 第一个循环0
 * 第二个循环0
 * 第二个循环1
 * 第二个循环2
 * 第二个循环3
 * 第二个循环4
 * 第二个循环5
 * 第二部分也就是 $j == 2
 * 第一个循环1
 * 第二个循环0
 * 第二个循环1
 * 第二个循环2
 * 分成两部分更好理解
 * 第一部分可以看作是先执行了
 *  if ($i == 1) {
 *      break 2;
 *     }
 * 也就是$i == 1是跳出 | 第一个循环 也就是当$i递增为1时跳出for ($i = 0; $i <= 3; $i++) {}循环
 * 但是不影响for ($j = 0; $j <= 5; $j++) {循环所以第二个循环会完全输出
 *
 * 第二部分则是执行了
 * if ($i == 1 && $j == 2) {
 *      break 2;
 *    }
 * 也就是$i == 1是跳出 | 第一个循环 也就是当$i递增为1时跳出for ($i = 0; $i <= 3; $i++) {}循环
 * 但同时又执行了$j == 2这个条件所以输出1,0,1,2
 */
for ($i = 0; $i <= 3; $i++) {
    echo '第一个循环' . $i . '<br>';
    for ($j = 0; $j <= 5; $j++) {
        echo '第二个循环' . $j . '<br>';
        if ($i == 1 && $j == 2) {
            break 2;
        }
    }
}

总结

所学代码

  • 1.for
  • 2.while
  • 3.do...while
  • continue
  • break
  • break 2

注意:

  • A.初始值和增量的参数可为空或者有多个表达式【用逗号分开】
  • B.增量可写在()内或者要执行的代码内【建议写在增量内】
  • C.while循环需要注意条件判断,避免死循环
  • D.do...while是先执行一次代码在进行判断条件其次再循环这就是为什么输出6的原因了
  • E.continue是跳出当前if的条件判断循环而不是终止整个循环
  • F.break是跳出整个for循环和continue相反吧...
  • G.使用break时最好要把输出内容写在break判断条件之前
  • H.break和continue可以在while中使用【和for一样就懒得写例子了】

版权声明

  • 1.本站文章基本属于原创,搬运者请标注来源地址
  • 2.部分文章转载需经过作者同意。
  • 3.网站资源来源于网络,仅供学习!
  • 4.待添加....
  • PHP学习笔记编程学习笔记

    【PHP学习笔记】if else 条件语句 switch case 条件分支

    2024-4-6 14:55:50

    PHP学习笔记编程学习笔记

    【PHP学习笔记】一维数组和foreach循环遍历数组

    2024-4-7 22:07:35

    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    有新私信 私信列表
    搜索
    歌曲封面