PHP入門培訓(xùn)教程PHP培訓(xùn)教程PHP基礎(chǔ)教程11PHP的流程控制結(jié)構(gòu).ppt_第1頁
PHP入門培訓(xùn)教程PHP培訓(xùn)教程PHP基礎(chǔ)教程11PHP的流程控制結(jié)構(gòu).ppt_第2頁
PHP入門培訓(xùn)教程PHP培訓(xùn)教程PHP基礎(chǔ)教程11PHP的流程控制結(jié)構(gòu).ppt_第3頁
PHP入門培訓(xùn)教程PHP培訓(xùn)教程PHP基礎(chǔ)教程11PHP的流程控制結(jié)構(gòu).ppt_第4頁
PHP入門培訓(xùn)教程PHP培訓(xùn)教程PHP基礎(chǔ)教程11PHP的流程控制結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

回顧,PHP中變量的數(shù)據(jù)類型都有哪些? 常量的聲明和應(yīng)用? PHP中的運(yùn)算符號(hào)都有哪些?,預(yù)習(xí)檢查,PHP中的都有哪些分支結(jié)構(gòu)? PHP中都有哪些循環(huán)結(jié)構(gòu)? break和continue的區(qū)別?,本章任務(wù),1. 分支結(jié)構(gòu) 2. 循環(huán)結(jié)構(gòu) 3. 特殊的流程控制語句,流程控制概述,任何 PHP 腳本都是由一系列語句構(gòu)成的。一條語句可以是一個(gè)賦值語句,一個(gè)函數(shù)調(diào)用,一個(gè)循環(huán),甚至一個(gè)什么也不做的(空語句)條件語句。語句通常以分號(hào)結(jié)束。此外,還可以用花括號(hào)將一組語句封裝成一個(gè)語句組。語句組本身可以當(dāng)作是一行語句。本章講述了各種語句類型。 在任何一門程序設(shè)計(jì)語言中,都需要支持滿足程序結(jié)構(gòu)化所需要的三種基本結(jié)構(gòu): 順序結(jié)構(gòu) 分支結(jié)構(gòu)(選擇結(jié)構(gòu)) 循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu):在程序結(jié)構(gòu)中,最基本的就是順序結(jié)構(gòu)。程序會(huì)按照自上而下的順序執(zhí)行。由于結(jié)構(gòu)簡(jiǎn)單所以這里我就不多介紹,1. 分支結(jié)構(gòu),1.1 單一條件分支結(jié)構(gòu)(if) 1.2 雙向條件分支結(jié)構(gòu)(else從句) 1.3 多向條件分支結(jié)構(gòu)(elseif子句) 1.4 多向條件分支結(jié)構(gòu)(switch語句) 1.5 巢狀條件分支結(jié)構(gòu),1.1 單一條件分支結(jié)構(gòu)(if),單個(gè)if語句: 基本格式: if(條件表達(dá)式) 語句組; /語句組為單條語句時(shí)可省略“ ”。 當(dāng)條件表達(dá)式的值為真(true)時(shí),PHP將執(zhí)行語句組,相反條件表達(dá)式的值為假(false)時(shí),PHP將不執(zhí)行語句組,忽略語句組執(zhí)行下面的語句。, $b) echo “a 大于 b“; /如果變量a的值大于b的值則會(huì)輸出:a大于b $x=10; $y=20; if($x$y); /輸出:bool(true) ?,1.2 雙向條件分支結(jié)構(gòu)(else從句),ifelse語句: 格式如下 if(條件表達(dá)式) 語句組1 else 語句組2 /語句組為單條語句時(shí)可省略“ ”。 if-else 條件判斷與 if 條件判斷類似,所不同的是,if-else 語 句的條件表達(dá)式值為真(true)時(shí),會(huì)執(zhí)行 if 的本體語句(語句組1), 而條件表達(dá)式值為假(false)時(shí),則執(zhí)行 else 的本體語句(語句組2)。,1.3 多向條件分支結(jié)構(gòu)(elseif子句),elseif子句: 格式如下 if(條件表達(dá)式1) 語句塊1 elseif(條件表達(dá)式1) 語句塊2 . . elseif(條件表達(dá)式n) 語句塊n else 語句塊n+1 ,?php date_default_timezone_set(“Etc/GMT-8“); /設(shè)置時(shí)區(qū),中國(guó)大陸采用東八區(qū)的時(shí)間 echo “當(dāng)前時(shí)間“.date(“Y-m-d H:i:s“,time().“ “; /通過date()函數(shù)獲取當(dāng)前時(shí)間,并輸出 $hour = date(“H“); /獲取服務(wù)器時(shí)間中當(dāng)前的小時(shí),作為分時(shí)問候的條件 if( $hour 6 ) /如果當(dāng)前時(shí)間在6點(diǎn)以前,執(zhí)行下面的語句塊 echo “凌晨好!“; elseif ( $hour 9 ) /如果當(dāng)前時(shí)間在6點(diǎn)之后和9點(diǎn)以前,執(zhí)行下面的語句塊 echo “早上好!“; elseif ( $hour 12 ) /如果當(dāng)前時(shí)間在9點(diǎn)之后和12點(diǎn)以前,執(zhí)行下面的語句塊 echo “上午好!“; elseif ( $hour 14 ) /如果當(dāng)前時(shí)間在12點(diǎn)之后和14點(diǎn)以前,執(zhí)行下面的語句塊 echo “中午好!“; elseif ( $hour 17 ) /如果當(dāng)前時(shí)間在14點(diǎn)之后和17點(diǎn)以前,執(zhí)行下面的語句塊 echo “下午好!“; elseif ( $hour 19 ) /如果當(dāng)前時(shí)間在17點(diǎn)之后和19點(diǎn)以前,執(zhí)行下面的語句塊 echo “傍晚好!“; elseif ( $hour 22 ) /如果當(dāng)前時(shí)間在19點(diǎn)之后和22點(diǎn)以前,執(zhí)行下面的語句塊 echo “晚上好!“; else /如果當(dāng)前時(shí)間在22點(diǎn)之后和次日1點(diǎn)以前,執(zhí)行下面語句塊 echo “夜里好!“; ,2.4 多向條件分支結(jié)構(gòu)(switch子句),switch- case語句語法: switch(表達(dá)式) case 值1: 語句序列1; break; case 值2: 語句序列2; break; default: 語句序列 n; break; ,執(zhí)行語句序列1,=值1?,計(jì)算表達(dá)式的值,相等,不相等,break,執(zhí)行語句序列2,=值2?,相等,不相等,break,執(zhí)行語句序列n,有default?,有,沒有,當(dāng)程序執(zhí)行碰到switch條件判斷時(shí),它會(huì)取出鍵值,然后與語句體中的case所列出的值逐一比較,如果數(shù)值不符合,則將數(shù)值往下一個(gè)case傳遞,如果數(shù)值符合,則執(zhí)行case中的語句,然后再碰到break語句即跳出switch條件判斷,如果所有的值比對(duì)都不符合,則會(huì)執(zhí)行default中的語句 。 switch語句使用注意事項(xiàng): switch語句與if語句不同,它僅能判斷一種關(guān)系:是否恒等。 switch語句中case子句的常量可以是整型常量、字符型常量、表達(dá)式或變量。 在同一個(gè)switch中,case子句的常量不能相同,否則第二個(gè)值永遠(yuǎn)無法匹配到。 case 和 default 子句后面的語句序列允許由多個(gè)可執(zhí)行語句組成,且不必用“ ”括起來,也可以為空語句。 switch語句中可省略break語句和default子句。但省略后會(huì)改變流程。,?php $week = date(“D“); switch( $week ) case “Mon“: echo “星期一“; break; case “Tue“: echo “星期二“; break; case “Wed“: echo “星期三“; break; case “Thu“: echo “星期四“; break; case “Fri“: echo “星期五“; break; case “Sat“: echo “星期六“; break; case “Sun“: echo “星期日“; break; switch( $i ) /條件表達(dá)式是一個(gè)變量$i case 2: /和值2匹配時(shí),沒有break,將控制轉(zhuǎn)移到下一個(gè)case中的語句 case 3: /和值3匹配時(shí),執(zhí)行下面的語句塊 echo “$i和值2或3任一個(gè)匹配“; break; /退出switch語句 case 4: /和值為3匹配上時(shí),執(zhí)行下面的語句塊 echo “$i和值4匹配時(shí),才會(huì)執(zhí)行“; break; /退出switch語句 default: /匹配任何和其他case都不匹配的情況, 要放在最后一個(gè)case之后 echo “$i沒有匹配的值時(shí),才會(huì)執(zhí)行“; ,1.5 巢狀條件分支結(jié)構(gòu),巢狀式條件分支結(jié)構(gòu)就是if語句的嵌套,即指if或else后面的語句塊中又包含if語句。if語句可以無限層地嵌套在其他if語句,這給程序的不同部分的條件執(zhí)行提供了充分的彈性。,語法: if(表達(dá)式1) if(表達(dá)式2) else else if(表達(dá)式3) ,巢狀式ifelse流程控制使用范例: “; if($a=60) if($a=70) if($a=90) echo “不錯(cuò)喔!這次數(shù)學(xué)成績(jī)甲等!“; else echo “還可以.這次數(shù)學(xué)成績(jī)乙等!“; else echo “勉勉強(qiáng)強(qiáng)及格邊緣.這次數(shù)學(xué)成績(jī)丙等!“; else echo “有待下次努力.數(shù)學(xué)成績(jī)不及格!“; ?,2. 循環(huán)結(jié)構(gòu),2.1 while語句 2.2 do.while循環(huán) 2.3 for語句 2.4 特殊的流程控制語句,2.1 while語句,while循環(huán)語法: while(表達(dá)式) 語句或語句序列 . . 當(dāng)while循環(huán)語句中表達(dá)式(循環(huán)控制語句)的結(jié)果為真時(shí),程序?qū)⒎磸?fù)執(zhí)行同一段程序:循環(huán)體( while中的語句或語句序列),直到滿足一定的條件(表達(dá)式的結(jié)果為假時(shí))后才停止執(zhí)行該段程序。,實(shí)例: , 使用while循環(huán)嵌套輸出表格 使用while循環(huán)嵌套輸出表格 ”; /執(zhí)行一次則輸出一行并指定背景顏色 $in = 0; /內(nèi)層循環(huán)需要計(jì)數(shù)的累加變量 while( $in “.($out*10+$in).“; /執(zhí)行一次,輸出一個(gè)單元格 $in+; /內(nèi)層的計(jì)數(shù)變量累加 echo “; /輸出行關(guān)閉標(biāo)記 $out+; /外層的計(jì)數(shù)變量累加 ? ,基本格式: do 語句或語句序列 . . while(表達(dá)式);,程序會(huì)先執(zhí)行 do 語句體中的語句(循環(huán)體),然后再檢查表達(dá)式(循環(huán)控制語句)的值,如果符合條件式(值為真),就再進(jìn)行 do 語句體中的語句,直到條件不符合為,2.2 do.while循環(huán),注意: do-while 后面必須加上分號(hào)作為結(jié)束 do-while與while的最大區(qū)別是先執(zhí)行循環(huán)體然后再判斷循環(huán)的控制條件 ,基本格式: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句或語句序列; for循環(huán)語句中表達(dá)式1為循環(huán)初始條件;表達(dá)式2為循環(huán)控制條件;表達(dá)式3為控制變量遞增;語句或語句序列為循環(huán)體。,2.3 for語句, $i 次循環(huán)執(zhí)行輸出的結(jié)果“; $i = 1; /將for語句中第一部分初始化提出來,放到for前面執(zhí)行,但for語句中的分號(hào)要保留 for( ; $i $i 次循環(huán)執(zhí)行輸出的結(jié)果“; $i = 1; /再將第三部分的增量提出來,放到for語句的執(zhí)行體最后,但也要將分號(hào)保留 for( ; $i $i 次循環(huán)執(zhí)行輸出的結(jié)果“; $i+; $i = 1; for( ; ; ) if( $i 10 ) break; echo “這是第 $i 次循環(huán)執(zhí)行輸出的結(jié)果“; $i+; ,1. break 我們之前在 switch 條件判斷中已經(jīng)使用過 break 關(guān)鍵字,它會(huì)使得程序流程離開 switch 本體中的語句,如果 break 使用在 for、while 或 do-while 循環(huán)結(jié)構(gòu)中時(shí),將會(huì)使得程序離開該層循環(huán)。 2. continue continue 的作用與 break 有點(diǎn)類似,continue 若使用在 for、while 或 do-while循環(huán)結(jié)構(gòu)中,當(dāng)程序執(zhí)行至 continue 時(shí),之后的語句將直接被略過,而直接執(zhí)行下一次的循環(huán)動(dòng)作。 3. exit 當(dāng)前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論