顺序 分支 循环

顺序结构
顺序结构,就是语句按照你书写的顺序,从前到后顺序执行.最容易理解.

if($age > 28) {
    echo '你是中老年'; // 代码段1
} else {
    echo '你是有为青年'; // 代码段2
}

if为真,则代码段1执行
if为假,则代码段2执行.
if/else 中的两个代码,有且只有一段被执行.

switch ($day) {
    case 1:
        echo '星期一';
        break;
    case 2:
        echo '星期二';
        break;
    case 3:
        echo '星期三';
        break;
    case 4:
        echo '星期四';
        break;
    case 5:
        echo '星期五';  // 从上到下,判断$day和case 指定的值,是否相等,如相等,则执行以后的语句
        break;          // 因此,一定要用break退出.
    case 6:
        echo '星期六';
        break;
    case 7:
        echo '星期七';
        break;
    default:
        echo '你来自火星';
}


/*****
如果没用switch case的话, 我们可以用什么来代替?

if /else if/else 多路分支来代替


问: if/else if ,与switch case相比,各适合于什么样的场合?

答: switch case ,只能判断某变量 是否 与指定的值相等.
比如 值与 1,2,3..7比较,

但是,不能用来判断 范围.

而if /else if 可用来判断范围,甚至更复杂的判断表达式也可以.

而 case,却只能提供一个准备的值,和变量做 ==的比较.


如果需要和几个确认的值比较是否相等,适合用switch

 

// 顺序结构
/*
按顺序执行,
*


while循环,
while(表达式) {
    代码段
}

表达式为真,就执行代码段,
执行完代码段,再回去判断表达式.
为真,.....

直到表达式为假的时候,结束循环


do {
    代码段
}while(表达式);

先执行代码段,再判断表达式的真假

// do/while 至少执行一次.


for(语句1;语句2;语句4) {
    语句3;
}

语句1, 先执行,且只执行1次.

然后 语句2 判断,如为真,则执行语句3,然后执行语句4

语句2判断..... 循环

直到语句2为假,for结束