php第四天--分支和循环结构

2017-03-12  本文已影响0人  博行天下

其它运算符
@ => -> @:单行抑制错误。 => : 数组中键值对关联符 -> : 对象访问成员方法或者成员属性符 : 这个可以执行系统的一些指令

1、顺序结构
2、分支结构
单向
形式:
if (表达式) {
语句块
}
执行流程:如果表达式为真,则执行语句块,如果为假,则不执行
【注】大括号一般都要加上,也有些二货不加。如果不加,那么只有if下面的第一条语句是if所影响的,其它都不是。所以一定要加上大括号。
双向
形式:
if (表达式) {
语句块1
} else {
语句块2
}
执行流程:如果表达式为真,那么执行语句块1,如果表达式为假,那么执行语句块2
【注】语句块1和语句块2不会同时都执行,也不会同时都不执行,其肯定会执行其中一个
多向
形式:
if (表达式1) {
语句块1
} elseif (表达式2) {
语句块2
} elseif (表达式3) {
语句块3
} else {
语句块4
}
执行流程:首先会判断表达式1是否为真,如果为真,则执行语句块1,然后直接跳出整个结构。如果为假,会继续判断表达式2是否为真,如果为真,执行语句块2,然后跳出整个结构,如果为假,接着往下执行这样的判断,最后如果都为假,则执行最后一个else语句块

    理论上elseif可以有无限多个,else也可以不加
嵌套
    形式:
        if (表达式1) {
            if (表达式2) {
            
            } else {
                
            }
        } else {
        
        }
switch case
    格式:
    switch (表达式) {
        case 常量1:
            语句块1;
            break;
        case 常量2:
            语句块2;
            break;
        case 常量3:
            语句块3;
            break;
        default:
            语句块
            break;
    }
    //mt_rand会产生一个随机数,范围在1-10之间
    $x = mt_rand(1, 10);
    /*
    1、基本上每一个case都要有一个break,break用来结束整个结构。
    2、case后要写常量,数字或者字符串都可以
    3、default在switch结构中可以加,也可以不加
    4、break也可以省略,但是省略后switch会接着往下执行,直到碰到break结束整个结构
    5、多个case可以同时执行同样的语句。
    */

3、循环结构
while
基本语法
格式:
while (表达式) {
循环体;
}
执行流程:首先判断表达式是否为真,如果为真,执行循环体,然后再次判断表达式是否为真,如果为真,接着执行循环体,直到表达式为假,循环退出。
打印表格
人在江湖飘
人在江湖飘呀,哪有不挨刀呀,几刀砍死你 1-5;
/*
人在江湖飘
分析:当两个人所出的数字相差1 -1 4 -4的时候肯定会有输赢,其他的平局,接着干。
没有输赢的时候一直出,有输赢的时候才退出这个循环。

    【注】break只能用来跳出循环和跳出switch结构,和if无关
    */
    while (1) {
        $haifeng = mt_rand(1, 5);
        $xinlong = mt_rand(1, 5);
        $sub = $haifeng - $xinlong;
        if ((abs($sub) == 1) || (abs($sub) == 4)) { //在这里面他们两个肯定分出了输赢
            if (($sub == 1) || ($sub == -4)) {
                echo '海峰技高一筹,出了一个'.$haifeng.'赢了新龙的'.$xinlong;
                //break用来退出循环
                break;
            }
            if (($sub == -1) || ($sub == 4)) {
                echo '新龙技高一筹,出了一个'.$xinlong.'赢了海峰的'.$haifeng;
                break;
            }
            
        }
        echo '海峰和新龙旗鼓相当,接着干<br />';
    }
do-while(了解)
    格式:
        do {
            循环体
        } while (表达式);
    执行流程:首先执行一遍循环体,然后判断表达式是否为真,如果为真,继续执行循环体,然后再次判断表达式是否为真,直到表达式为假,循环退出。
    问:do-while和while有什么区别?
    while:先判断,再执行循环体。
    do-while:先执行。再判断表达式。
    我们写代码过程中一般都是while。

for
    基本语法
        格式:
        for (表达式1; 表达式2; 表达式3) {
            循环体
        }
        执行流程:首先执行表达式1,然后判断表达式2是否成立,如果成立,执行循环体,然后再执行表达式3,然后再次判断表达式2是否成立,直到表达式2不成立,循环退出。
    打印表格
    
    打印图形
        for () {
            for () {
            }
        }
        规律:打印图形都是外层循环控制行数,内层循环控制每一行打印的内容。
    双重循环打印表格
        
    break和continue
        break:用来结束循环。不管break下面还有多少语句,碰到break立即结束循环。
        continue:用来结束本次循环,进入下一次循环。不管continue下面还有多少语句,碰到continue立即结束本次循环,进入下一次循环。
        
        【注】当continue用到while中的时候要注意死循环。
        
    变形格式
goto(了解)(禁止使用)
上一篇下一篇

猜你喜欢

热点阅读