zoukankan      html  css  js  c++  java
  • php-流程控制


    代码执行的方向

    1、控制分类:

    • 顺序结构

      代码从上往下,顺序执行(代码执行的最基本结构)

    • 分支结构

      给定一个条件,同时有多个可执行代码,然后根据条件执行某一块代码

    • 循环结构

      在某个条件控制范围内,指定的代码可以重复执行

     

    2、顺序结构:

    最基本结构,所有代码默认从上往下依次执行

     

    3、分支结构:

    主要有两种:if和switch

    1、if分支

    适用于所有的条件判断

    基本语法:

    • 最简if:只有一段代码,但是可以选择是否执行

      1 if(条件表达式){
      2     //满足条件所要执行的内容;//   //顺序执行
      3 }
    • 基础if:有两面性,满足条件和不满足条件,都有要执行的代码

      1 if(条件表达式){
      2     //满足条件所要执行的内容;//   //顺序执行
      3 }
      4 else{
      5     //不满足条件所要执行的内容;//   //顺序执行
      6 }
    • 复杂if结构:在判断条件之后,通常就有两种结果,满足或不满足,在不满足之后,再次进行条件判断

       1 if(条件表达式){
       2     //满足条件所要执行的内容;//   //顺序执行
       3 }
       4 else if(条件表达式2){
       5     //不满足条件1,但满足条件2所要执行的内容;//   //顺序执行
       6 }
       7 ....
       8 else{
       9     //全不满足条件所要执行的内容;//
      10 }

       

     

    2、switch分支

    switch分支:有一组情形存在,通过一个条件,通常有多个值(会出现多种情况),但是每一个值都会有对应不同的代码要执行。

    switch判断方式;是将条件放到分支结构内部判断。

    switch基本语法:

     1 switch(条件表达式){
     2 //所有条件判断;逐个进行
     3     case 值1:
     4         要执行的代码段;
     5         break;//如果条件匹配成功,则不会再进行其他的条件
     6     case 值2:
     7         要执行的代码段;
     8         break;
     9     ...
    10     case 值n:
    11         要执行的代码段;
    12         break;
    13     //可以使用类似else的语法:都不匹配
    14     Default:
    15         //匹配失败的代码;都不满足条件
    16         Break;
    17 }

    4、循环结构:

    代码段在一定的控制下,可以多次执行

    循环结构有:

    • for循环:通过条件,起始和终止判断执行

    • while循环:通过判断条件终止

    • do-while循环:跟while差不多

    • foreach循环:专门针对数组

     

    1、for循环

    基本语法与示例:

     1 for(条件表达式1;条件表达式2;条件表达式3){
     2     //条件表达式1:定义初始化条件,可以有多种赋值语句存在,使用逗号分隔即可
     3     //条件表达式2:边界判断,限定循环执行的次数
     4     //条件表达式3:用来执行条件变化(通常 是自操作)
     5 }
     6 
     7 示例:
     8 <?php
     9     for($i=1;$a<=10;$i++){
    10     echo $i;
    11     }
    12 ?>
    13 //结果:1 2 3 4 5 6 7 8 9 10

    执行原理:

    • 执行条件表达式1:定义初始化条件(执行一次)

    • 执行条件表达式2:判断条件(n次)

      满足:执行循环体

      不满足:退出循环

    • 执行条件表达式3:循环变量变化(n次)

    • 执行条件表达式2:判断条件(n次)

    • ...

    • 直到条件表达式2不满足条件

     

    2、while循环

    while首先进行条件判定,然后执行循环体

    基本语法与示例:

     1 条件初始化;
     2  3 while(条件表达式){
     4  5     //条件表达式就是判断边界的条件
     6  7     循环体;       //循环条件的变化
     8  9 }
    10 
    11 示例:
    12 <?php
    13     $i=1
    14     while($i<=10){
    15         echo $i++;
    16     }
    17 ?>
    18 //结果:1 2 3 4 5 6 7 8 9 10

    for与while选择:

    • 如果是基于固定已知条件(数值而且是由规律的变化),使用for循环

    • while可以做灵活的条件判断

     

    3、do-while循环
    • 看着很想while,while首先进行条件判定,然后执行循环体,有可能出现第一次条件就不满足,则失败(循环体一次都不会执行)
    • do-while是先干了再说(执行循环体),后判断条件(至少会执行一次循环体)

    基本语法与示例:

     1 do{
     2     //循环体
     3 }
     4 while(条件表达式);
     5 
     6 示例:
     7 <?php
     8     $i=1;
     9     do{
    10         //执行输出
    11         if($i % 2 != 1){
    12         echo $i;
    13         }
    14         $i++;
    15     }
    16     while($i<=10);
    17 ?>
    18 //结果:2 4 6 8 10

     

    4、循环控制:

    在循环内部对循环本身进行控制

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

      continue层级:默认是1(循环可以多层嵌套)

    • 终止控制:循环直接结束

      break层级:默认是1

     1 示例1:
     2 <?php
     3     $i=1;
     4     while($i<=100){
     5         if($i % 5!=0){
     6         $i++;
     7         continue;    //重新循环,进行判断
     8         }
     9         echo $i++;
    10     }
    11 ?>
    12 //结果:5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
    13 
    14 示例2:
    15 <?php
    16     $i=1;
    17     while($i<=100){
    18         if($i % 5!=0){
    19         $i++;
    20         break;    //终止循环,跳出循环
    21         }
    22         echo $i++;
    23     }
    24     echo $i;
    25 ?>
    26 //结果:2
    • 因为循环经常性会碰到嵌套(循环中间包含循环),如果在循环内部有些条件下,明确可以知道当前循环(或者说外部循环)不需要继续执行了,那么就是可以使用循环控制来实现
    • 其中内部循环也可以控制到外部,就是通过使用层级参数
    • continue:当前自己的循环后面的内部不再执行,同时外部循环如果还有循环体也不再执行
    • break:当前自己循环结束,同时外部也结束(如果还有外部不受影响,继续执行)

     

    5、流程控制替代语法

    分支和循环结构的替代语法

    php本身是嵌入到html种的脚本语言,组要在html中书写一些关于判断或者循环的结构语法,必须符合php标签规范,需要在html与php进行混搭,如果使用原始的php代码那么会非常不美观

     1 示例:打印99乘法表
     2 <table border=1>
     3     <?php  for($i=1;$i<10;$i++){ ?>
     4     <tr>
     5         <?php  for($j=1;$j<=$i;$j++){ ?>
     6         <td>
     7             <?php echo $i.'*'.$j.'='.$i*$j;?>
     8         </td>
     9         <?php }?>
    10     </tr>
    11     <?php }?>
    12 </table>
    13 
    14 替换:{-->:
    15 
    16 }-->endfor;
    17 
    18 示例:
    19 <table border=1>
    20     <?php  for($i=1;$i<10;$i++): ?>
    21     <tr>
    22         <?php  for($j=1;$j<=$i;$j++): ?>
    23         <td>
    24             <?php echo $i.'*'.$j.'='.$i*$j;?>
    25         </td>
    26         <?php endfor;?>
    27     </tr>
    28     <?php endfor;?>
    29 </table>

    PHP中具体有哪些替代语法呢?PHP应该在HTML中只做数据输出,输出通常伴有条件判断和循环操作,因此PHP提供了对应分支结构和循环结构的替代语法:全部都是对应的一个模式:

    { -->;

    }-->end+对应的起始标记替代

    • if

    • switch

    • for

    • whilr

    • foreach

  • 相关阅读:
    每日记载内容总结33
    华为机试-尼科彻斯定理
    华为机试-求最大连续bit数
    华为机试-合法IP
    华为机试-票数统计
    华为机试-等差数列
    华为机试-自守数
    中序表达式转后序表式式
    华为机考 给你一个N*M的矩阵,每个位置的值是0或1,求一个面积最大的子矩阵,这个矩阵必须是一个正方形,且里面只能由1构成,输出最大的正方形边长。其中n,m<=400;
    华为机试-求解立方根
  • 原文地址:https://www.cnblogs.com/eighty-five/p/13631473.html
Copyright © 2011-2022 走看看