摘要:<?php/** * 流程控制之分支結(jié)構(gòu) * 1. 分支:單分支,雙分支,多分支,switch * 2. 分支結(jié)構(gòu)使用腳本具備了簡(jiǎn)單的人工智能 *//** * 老師,馬上就要考試了,如果我考的不好,怎么辦? * 那就補(bǔ)考唄,你知道,在程序中,如何實(shí)現(xiàn): 如果考得不好,怎么辦? * 不知道,趕緊給我講講吧 * 如果
<?php
/**
* 流程控制之分支結(jié)構(gòu)
* 1. 分支:單分支,雙分支,多分支,switch
* 2. 分支結(jié)構(gòu)使用腳本具備了簡(jiǎn)單的人工智能
*/
/**
* 老師,馬上就要考試了,如果我考的不好,怎么辦?
* 那就補(bǔ)考唄,你知道,在程序中,如何實(shí)現(xiàn): 如果考得不好,怎么辦?
* 不知道,趕緊給我講講吧
* 如果想到程序中,實(shí)現(xiàn)條件判斷,就要用到分支控制,下面我就用實(shí)例來(lái)習(xí)流程控制中的分支控制
*/
//聲明變量$grade,表示成績(jī),并在聲明時(shí)初始化為80
$grade = 70;
//1.單分支
if ($grade >= 60) {
echo '及格啦~~<br>';
}
//2.雙分支
$grade = 50;
if ($grade >= 60) {
echo '及格啦~~<br>';
} else {
echo '準(zhǔn)備補(bǔ)考吧,騷年~~<br>';
}
echo '<hr>';
//實(shí)際上,我們之前已經(jīng)見(jiàn)過(guò)這種分支結(jié)構(gòu)了,不過(guò)我們當(dāng)時(shí)使用的是簡(jiǎn)寫(xiě)語(yǔ)法
//雙分支簡(jiǎn)寫(xiě): 條件 ? 真 : 假 ;
//將剛才的案例簡(jiǎn)寫(xiě)
echo ($grade >= 60) ? '及格啦~~<br>' : '準(zhǔn)備補(bǔ)考吧,騷年~~<br>';
//在判斷某個(gè)變量是否定義的時(shí)候,非常有用
//例如,如果變量已定義,那么就直接使用,否則就給他一個(gè)默認(rèn)值
//$site = isset($site) ? $site : 'php中文網(wǎng)';
$site = isset($site) ? : 'php中文網(wǎng)';
echo $site;
echo '<hr>';
//3.多分支
$grade = 75;
$grade = 85;
$grade = 95;
if ($grade < 60) {
echo '準(zhǔn)備補(bǔ)考吧,騷年~~<br>';
} elseif (($grade >= 60) && ($grade < 80)) {
echo '太棒了,這是要成為學(xué)霸的節(jié)奏呀~~<br>';
} elseif (($grade >= 80) && ($grade < 90)) {
echo '恭喜,你已經(jīng)進(jìn)入到了學(xué)霸的行列啦~~<br>';
} else {
echo '你來(lái)教,我走~~<br>';
}
echo '<hr>';
//4.switch
//switch,可以讓多分支判斷的結(jié)構(gòu)更加的清晰
//下面用switch結(jié)構(gòu)將上面的多分支案例進(jìn)行重寫(xiě)
$grade = 80;
switch ($grade) {
case ($grade < 60):
echo '準(zhǔn)備補(bǔ)考吧,騷年~~<br>';
break;
case (($grade >= 60) && ($grade < 80)):
echo '太棒了,這是要成為學(xué)霸的節(jié)奏呀~~<br>';
break;
case (($grade >= 80) && ($grade < 90)):
echo '恭喜,你已經(jīng)進(jìn)入到了學(xué)霸的行列啦~~<br>';
break;
default:
echo '你來(lái)教,我走~~<br>';
break;
}
//switch()分支,更多的應(yīng)用場(chǎng)景是根據(jù)一個(gè)變量的值,來(lái)確定執(zhí)行哪個(gè)分支
$brand = 'Apple';
$brand = 'HUAWEI';
$brand = 'MI';
switch (strtolower($brand)) {
case 'apple':
echo '您選擇是蘋(píng)果手機(jī)<br>';
break;
case 'huawei':
echo '您選擇是華為手機(jī)<br>';
break;
case 'mi':
echo '您選擇是小米手機(jī)<br>';
//每個(gè)分支執(zhí)行完畢,應(yīng)該用break進(jìn)行跳出,否則會(huì)順序執(zhí)行下去的
// break;
case 'oppo':
echo '您選擇是oppo手機(jī)<br>';
break;
default:
echo '您選擇的手機(jī)品牌暫時(shí)未收錄~~<br>';
break;
}
/**
* 老師,我明白了,程序中的條件判斷有單分支,雙分支,多分支三種,多分支建議用switch結(jié)構(gòu)進(jìn)行簡(jiǎn)化,是不是?
* 是的,你這么聰明,考試肯定能通過(guò),放心吧~~
*/
批改老師:天蓬老師批改時(shí)間:2019-08-15 10:46:33
老師總結(jié):作業(yè) 不是這樣寫(xiě)的
<?php
/**
* 流程控制之分支結(jié)構(gòu)
* 1. 分支:單分支,雙分支,多分支,switch
* 2. 分支結(jié)構(gòu)使用腳本具備了簡(jiǎn)單的人工智能
*/
/**
* 老師,馬上就要考試了,如果我考的不好,怎么辦?
* 那就補(bǔ)考唄,你知道,在程序中,如何實(shí)現(xiàn): 如果考得不好,怎么辦?
* 不知道,趕緊給我講講吧
* 如果想到程序中,