php 循环

流程控制

  顺序结构:代码从上往下,顺序执行

  分支结构:给定一个条件,同时有多种可执行代码,然后会根据条件执行某一段代码

  循环结构:在某一个条件控制范围内,指定的代码,可以重复执行

  语法:

    if(布尔表达式){

      条件满足时执行

    }else if(布尔表达式){

      条件不满足时执行

    }else if(布尔表达式){

      条件不满足时执行

    }......

    }else{条件都不满足时执行}

  return: 退出 

   break : 跳出

  intval() 小数变整数

        if($a > 90){
            return '优秀';
        }elseif ($a > 80){
            return '良好';
        }elseif ($a > 70){
            return '好';
        }elseif ($a > 60){
            return '及格';
        }else{
            return '不及格';
        }

switch:

  语法:

    switch (条件表达式)

    { case 值:

      要执行的代码段;

      return '返回的内容';  // 表示结束这段代码,返回内容

    case 值:

      要执行的代码段;

      return '返回的内容';

    default:

      匹配失败 要执行的代码段;

      return '返回的内容';

    }

        switch (intval($a/10)){
            case 10:
            case 9:
                return '>90';
            case 8:
                return '>=80';
            case 7:
                return '>=70';
            case 6:
                return '及格';
            default:
                return '小老弟怎么回事,不及格哟!';
        }    

-------------------------------------------------------

循环

  for 循环

    for(条件表达式1;条件表达式2;条件表达式3){

      //条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔

      //条件表达式2:边界判定,限定循环执行的次数

      //条件表达式3:执行条件变化

      循环体

    }

    原理:

      1.执行条件表达式1:定义处刷条件(执行一次)

      2.执行条件表达式2:判断条件(N次)

        满足条件,执行循环体

        不满足条件,循环结束

      3.执行循环体N次

      4.执行条件表达式3:循环变量变化N次

      5.执行条件表达式2:判断条件N次

      6.重复执行 3-4-2步骤:直到第2步不满足条件结束循环

  (吐槽...... 跟Java一样(新萌不敢多说什么))

    for ($i = 0;$i<100;$i++){
        echo '$i';
    }

  

while 循环

    语法:

      条件初始化;

      while(条件表达式){

        //条件表达式就是判断边界条件

        循环体; // 循环条件的变化

      }

  continue 跳出当前循环

    $w = 0;
    while ($w<100){
        echo '$w';
        $w++;
    }
    $d = 0;
    do{
        echo '$d';
    }while($d<100);

-------------------------------------------------------------

循环结构

  中断控制:重新开始循环,循环体中还有其他内容,也再执行

  continue 层级;// 默认是1

  

  终止控制:循环直接结束

  break 层级;  // 默认是1

---------------------------------------------

流程控制替代

  for(){ --> for(;;):

  } --> endfor;

<table border=1>
    <?php for($i = 1;$i < 10;$i++): ?>
        <tr>
            <?php  for($j = 1;$j <= $i;$j++): ?>
            <tb>
                <?php echo $i.' * '.$j. ' = '.$i * $j; ?>
            </tb>
            <?php endfor; ?>
        </tr>
    <?php endfor; ?>
</table>

php t提供了对应的值结构和循环结构的替代语法:全部都是对应的一个模式:

  左大括号使用冒号替代

  右大括号使用 end+对应的起始标记替代

----------------------------------------------

  do - while 循环循环和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和一般的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在一般的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。

<?php
$i = 0;
do {
   echo $i;
} while ($i > 0);
?> 

-----------------------------------------

foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法

foreach (array as $value)
    statement
foreach (array as $key => $value)
    statement
  • 第一种格式遍历给定的 array 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步。

  • 第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

改变元素的值

  在 foreach 中有两种方式改变元素的值

  • 在 $value 之前加上 &来修改数组的元素。
  • 通过 $key 重新赋值。
原文地址:https://www.cnblogs.com/mysterious-killer/p/9931852.html