版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3.1條件控制語句
3.1.1 if語句if語句是單分支的條件控制語句,僅當指定的條件成立時,才執(zhí)行給定的代碼。PHP中if語句的語法格式為:如果表達式的值為真,只需要執(zhí)行一條代碼,那么if后面的一對“{}”可以省略。格式如下:下一頁返回3.1條件控制語句
使用if語句的程序流程圖如圖3-1所示?!纠?-1】使用rand函數(shù)隨機生成一個1~20的整數(shù)$n,判斷這個隨機數(shù)是不是奇數(shù),如果是,則輸出結果。程序代碼如下所示:運行結果如圖3-2所示。上一頁下一頁返回3.1條件控制語句
3.1.2 if…else語句在大多數(shù)情況下,總是需要在條件成立時執(zhí)行一段代碼,條件不成立時執(zhí)行另一段代碼。這種情況可以使用if…else語句,其語法格式如下所示:使用if…else語句的程序流程圖如圖3-3所示。上一頁下一頁返回3.1條件控制語句
【例3-2】獲取系統(tǒng)當前時間,如果在中午12點以前,則輸出上午好,否則輸出下午好。程序代碼如下所示:運行結果如圖3-4所示。上一頁下一頁返回3.1條件控制語句
3.1.3 elseif語句if…else語句只適用于兩種條件的情況,如果在若干條件之一成立時,執(zhí)行一個代碼段,則需要使用if…elseif…else語句。其語法格式如下所示:上一頁下一頁返回3.1條件控制語句
上一頁下一頁返回3.1條件控制語句
使用if…elseif…else語句的程序流程圖如圖3-5所示。【例3-3】獲取系統(tǒng)當前時間,如果在8點前,輸出早上好;如果在8點和11點之間,輸出上午好;如果在11點和13點之間,輸出中午好;如果在13點和18點之間,輸出下午好,18點以后,都是晚上好。程序代碼如下所示:上一頁下一頁返回3.1條件控制語句
運行結果如圖3-6所示。上一頁下一頁返回3.1條件控制語句
3.1.4 switch語句當判斷條件比較多的時候,使用if…elseif…else語句編寫程序代碼量會很大,在PHP中使用switch語句也可以解決根據(jù)多個不同的條件執(zhí)行不同代碼段的問題。switch語句的語法格式如下:上一頁下一頁返回3.1條件控制語句
執(zhí)行switch語句首先計算表達式c的值,將結果依次與表達式n的值比較,如果相等,則執(zhí)行該常量值后面的代碼段,直到遇到break語句為止。如果不相等,則繼續(xù)與下一個表達式值比較,依此類推。如果表達式c的值與所有的表達式n的值都不相等,則執(zhí)行default語句后面的代碼段。值得注意的是,如果表達式c的值與某個表達式值相等,而這個表達式的值后面的代碼段后沒有break語句,那么程序將不再與下一個表達式值比較,直接貫穿到下一個表達式值后的代碼段執(zhí)行,直到遇到break語句為止。switch語句的程序流程圖如圖3-7所示。上一頁下一頁返回3.1條件控制語句
【例3-4】將百分制的成績轉換成等級制形式輸出。程序代碼如下所示:上一頁下一頁返回3.1條件控制語句
運行結果如圖3-8所示。上一頁返回3.2 循環(huán)語句在3.1節(jié)中學習了條件控制語句,可以根據(jù)條件的不同執(zhí)行不同的代碼段,但這只能解決部分我們所遇到的問題。有時候,我們希望重復執(zhí)行某段代碼或函數(shù),這就需要使用循環(huán)語句。在PHP中提供了以下循環(huán)語句。①while語句,只要給定的條件成立,則重復執(zhí)行循環(huán)體內的代碼段。②do…while語句,先執(zhí)行循環(huán)體內的代碼段,再判斷條件。如果條件成立,則重復執(zhí)行循環(huán)體內的代碼段。③for語句,可以重復執(zhí)行指定次數(shù)的代碼段。④foreach語句,可以循環(huán)遍歷數(shù)組元素。數(shù)組的內容在本書的第4章介紹,因此foreach循環(huán)在此不做介紹。下一頁返回3.2 循環(huán)語句3.2.1 while循環(huán)語句while循環(huán)語句是PHP中比較常用的循環(huán)語句,其語法格式如下:while循環(huán)語句的執(zhí)行步驟如下:①判斷表達式的值,如果表達式的值為真,則跳到第②步;如果表達式的值為假,則跳到第④步。②執(zhí)行重復執(zhí)行的代碼。③重復第①步的操作。④跳出循環(huán),程序繼續(xù)向下運行。上一頁下一頁返回3.2 循環(huán)語句通過while循環(huán)語句的執(zhí)行步驟可以看出,如果第一次判斷表達式的值為假,則直接跳出循環(huán),也就是說,while循環(huán)有可能一次都沒執(zhí)行循環(huán)體內的代碼段。while循環(huán)的程序流程圖如圖3-9所示?!纠?-5】統(tǒng)計100以內所有偶數(shù)的和。程序代碼如下所示:運行結果如圖3-10所示。上一頁下一頁返回3.2 循環(huán)語句3.2.2 do…while循環(huán)語句do…while循環(huán)語句的語法格式如下:do…while循環(huán)語句的執(zhí)行步驟如下:①執(zhí)行重復執(zhí)行的代碼。②判斷表達式的值,如果表達式的值為真,則跳到第①步;如果表達式的值為假,則跳到第③步。③跳出循環(huán),程序繼續(xù)向下運行。上一頁下一頁返回3.2 循環(huán)語句do…while循環(huán)的程序流程圖如圖3-11所示??梢钥闯觯词沟谝淮闻袛啾磉_式的值為假,也會先執(zhí)行一次循環(huán)體內的代碼段,也就是說,do…while循環(huán)的循環(huán)體至少執(zhí)行一次?!纠?-6】輸出100(含100)以內所有能被7整除的數(shù)。程序代碼如下所示:運行結果如圖3-12所示。上一頁下一頁返回3.2 循環(huán)語句3.2.3 for循環(huán)語句for循環(huán)是PHP中應用較廣的循環(huán),可以靈活地控制循環(huán)體的執(zhí)行次數(shù),當指定的條件為真時,循環(huán)執(zhí)行代碼塊。語法格式如下:for循環(huán)語句的執(zhí)行步驟如下:①首先執(zhí)行表達式1。②判斷表達式2的值,如果表達式的值為真,則跳到第③步;如果表達式的值為假,則跳到第⑤步。上一頁下一頁返回3.2 循環(huán)語句③執(zhí)行重復執(zhí)行的代碼段,即循環(huán)體。④執(zhí)行表達式3。⑤跳出循環(huán),程序繼續(xù)向下運行。for循環(huán)的程序流程圖如圖3-13所示??梢钥闯?,表達式1在整個循環(huán)的過程中只執(zhí)行一次,因此,表達式1一般為循環(huán)變量賦初值的語句;表達式2的結果決定是否繼續(xù)循環(huán);表達式3的執(zhí)行次數(shù)與循環(huán)體一致,一般為使循環(huán)趨向于結束的語句。其中表達式1和表達式3可以省略,也可以為多個表達式,如果是多個表達式,表達式間需要使用逗號分隔。需要注意的是,三個表達式之間的分隔符“;”是不允許省略的。上一頁下一頁返回3.2 循環(huán)語句【例3-7】rand(0,100)函數(shù)可以生成0~100的隨機整數(shù),編寫程序統(tǒng)計經過多少次后能夠生成50。注意,這個結果不是固定的。程序代碼如下所示:運行結果如圖3-14所示。上一頁返回3.3 跳轉語句在PHP中使用循環(huán)語句的時候,可能會遇到在循環(huán)體內根據(jù)不同的情況而跳轉到不同的地方執(zhí)行,這時需要使用PHP中的跳轉語句。3.3.1 continue語句continue關鍵字用在循環(huán)語句中,用來結束本次循環(huán),繼續(xù)進行下一次循環(huán)。使用方法見例3-8。下一頁返回3.3 跳轉語句【例3-8】使用continue語句編寫程序,輸出100以內能被3整除的數(shù)。上一頁下一頁返回3.3 跳轉語句其中sprintf("%02d",$i)語句用來格式化變量i,將其轉化為字符串,如果i的位數(shù)不夠兩位,則在前面補0。例3-8的運行結果如圖3-15所示。此外,continue語句在多重循環(huán)中使用可以指定結束幾重循環(huán),見例3-9。上一頁下一頁返回3.3 跳轉語句【例3-9】使用continue結束兩重循環(huán),繼續(xù)執(zhí)行兩重循環(huán)的下一次循環(huán)。運行結果如圖3-16所示。上一頁下一頁返回3.3 跳轉語句3.3.2 break語句break關鍵字也可以用在循環(huán)語句中,其功能是提前結束循環(huán),不再執(zhí)行判斷條件。【例3-10】輸出100以內的所有素數(shù)。運行結果如圖3-17所示。上一頁下一頁返回3.3 跳轉語句此外,break語句在多重循環(huán)中使用可以指定跳出幾重循環(huán),見例3-11?!纠?-11】使用break跳出兩重循環(huán)。上一頁下一頁返回3.3 跳轉語句‘運行結果如圖3-18所示。上一頁下一頁返回3.3 跳轉語句3.3.3 終止PHP程序運行die()和exit()都是中止腳本執(zhí)行函數(shù)。exit()函數(shù)一般用在提前終止腳本執(zhí)行的地方,而die()一般用來顯示一個友好的錯誤信息,然后終止腳本的執(zhí)行。exit()函數(shù)的用法見例3-12。上一頁下一頁返回3.3 跳轉語句【例3-12】使用exit()函數(shù)終止PHP程序運行。上一頁下一頁返回3.3 跳轉語句運行結果如圖3-19所示。die()函數(shù)的用法見例3-13。上一頁下一頁返回3.3 跳轉語句【例3-13】使用die()函數(shù)終止PHP程序運行。運行結果如圖3-20所示。上一頁返回3.4 循環(huán)結構應用【例3-14】百錢買百雞是非常經典的數(shù)學問題,題目很簡單:公雞5文錢一只,母雞3文錢一只,小雞3只一文錢,現(xiàn)要用100文錢買一百只雞。編寫程序輸出符合條件的幾種答案。運行結果如圖3-21所示。下一頁返回3.4 循環(huán)結構應用【例3-15】水仙花數(shù)(Narcissisticnumber)是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n次冪之和等于它本身(例如,1^3+5^3+3^3=153)。請編寫程序求出3位數(shù)的所有水仙花數(shù)。運行結果如圖3-22所示。上一頁下一頁返回3.4 循環(huán)結構應用【例3-16】完全數(shù)(Perfectnumber),又稱完美數(shù)或完備數(shù),是一些特殊的自然數(shù)。它所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本身。如6=1+2+3,即6就是一個完全數(shù)。請編寫程序,輸出100以內的所有完全數(shù)。上一頁下一頁返回3.4 循環(huán)結構應用運行結果如圖3-23所示。上一頁返回3.5 綜合案例【例3-17】猜數(shù)字是一個非常有趣的益智類小游戲。游戲規(guī)則是電腦隨機生成一個1~100的整數(shù),玩家輸入一個1~100的整數(shù),如果玩家輸入的數(shù)小于隨機數(shù),則提示輸入的數(shù)小了,玩家重新輸入;如果玩家輸入的數(shù)大于隨機數(shù),則提示輸入的數(shù)大了,玩家重新輸入;如果玩家輸入的等于隨機數(shù),則提示猜對了,游戲結束。請編寫一個猜數(shù)字游戲的小程序。下一頁返回3.5 綜合案例運行結果如圖3-24所示。上一頁返回圖3-1if語句的程序流程圖返回圖3-2if語句執(zhí)行結果返回圖3-3if…else語句程序流程圖返回圖3-4if…else語句執(zhí)行結果返回圖3-5if…elseif…else語句程序流程圖返回圖3-6elseif語句執(zhí)行結果返回圖3-7switch語句程序流程圖返回圖3-8switch語句執(zhí)行結果返回圖3-9while語句程序流程圖返回圖3-10while語句執(zhí)行結果返回圖3-11do…while語句程序流程圖返回圖3-12do…while語句執(zhí)行結果返回圖3-13for語句程序流程圖返回圖3-14for語句執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來五年河道管理服務企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略分析研究報告
- 2026年法律知識考試題庫200道附答案【突破訓練】
- 2025年一級注冊建筑師考試題庫500道及參考答案【綜合卷】
- 2026年吉林大學附屬中學公開招聘教師(6人)考試備考題庫附答案
- 2025-2030文化創(chuàng)意產業(yè)投融資市場發(fā)展與政策支持研究分析報告
- 2025-2030文化創(chuàng)意產業(yè)市場發(fā)展方向全面評估及政策支持與市場需求研究分析報告
- 2025-2030文化創(chuàng)意產業(yè)園區(qū)行業(yè)市場現(xiàn)狀產業(yè)園區(qū)及發(fā)展?jié)摿υu估規(guī)劃分析研究報告
- 2025-2030文化產業(yè)市場發(fā)展?jié)摿ρ芯考皠?chuàng)意產業(yè)園區(qū)建設與知識產權保護分析
- 2025-2030整合營銷行業(yè)投資發(fā)展分析及融資策略研究報告
- 2025-2030排放控制行業(yè)市場深度調研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 6.1.3化學反應速率與反應限度(第3課時 化學反應的限度) 課件 高中化學新蘇教版必修第二冊(2022-2023學年)
- 北京市西城區(qū)第8中學2026屆生物高二上期末學業(yè)質量監(jiān)測模擬試題含解析
- 2026年遼寧輕工職業(yè)學院單招綜合素質考試參考題庫帶答案解析
- 2026屆北京市清華大學附中數(shù)學高二上期末調研模擬試題含解析
- 2026年馬年德育實踐作業(yè)(圖文版)
- 醫(yī)院實習生安全培訓課課件
- 四川省成都市武侯區(qū)西川中學2024-2025學年八上期末數(shù)學試卷(解析版)
- 2026年《必背60題》抖音本地生活BD經理高頻面試題包含詳細解答
- 土方回填工程質量控制施工方案
- 2025年湖南城建職業(yè)技術學院單招職業(yè)適應性測試題庫附答案
- 2026貴州大數(shù)據(jù)產業(yè)集團有限公司第一次社會招聘考試題庫新版
評論
0/150
提交評論