版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第7章 PHP的控制語句,任何PHP腳本都是由一系列語句構(gòu)成的。一條語句可以是一個賦值語句、一個函數(shù)調(diào)用、一個循環(huán),甚至一個什么也不做的(空語句)條件語句。語句通常以分號結(jié)束。此外,還可以用花括號將一組語句封裝成一個語句組。語句組本身可以當作是一行語句。,【例7-1】ifelse判斷,if判斷分為if判斷、ifelse判斷以及ifelseelse多重判斷等三種形式。本例中對這三種結(jié)構(gòu)進行了舉例說明。 if判斷 語句結(jié)構(gòu)為: if (expr) statement 如果expr的值為TRUE,PHP將執(zhí)行statement;如果值為FALSE,將忽略statement。 如: if($name=
2、sunny) echo 你的名字是對的!.;,【例7-1】ifelse判斷,ifelse判斷 語句結(jié)構(gòu)為: if (expr) statement1 else statement2 如果expr的值為TRUE,PHP將執(zhí)行statement1;如果值為FALSE,PHP將執(zhí)行statement2。,【例7-1】ifelse判斷,ifelseelse多重判斷 語句結(jié)構(gòu)為: if (expr1) statement1 elseif(expr2) statement2 elseif(exprn) statementn else statement 判斷第一個表達式expr1,如果為TRUE則執(zhí)行st
3、atement1語句,然后跳出,執(zhí)行后續(xù)語句;如果為FALSE,再接著判斷expr2,如果為TRUE則執(zhí)行statement2語句,然后跳出,執(zhí)行后續(xù)語句;如果為FALSE,再接著判斷expr3一直到exprn,若條件仍然為FALSE,則執(zhí)行else后的statement語句。,【例7-1】ifelse判斷,if語句可以無限層地嵌套在其他if語句中,這給程序的不同部分的條件執(zhí)行提供了充分的彈性。 注意: (1)若statement不是一條語句,而是若干條語句組,記住,一定要用括起來。 (2)else后不能跟條件表達式,若要指定新的條件表達式,則使用elseif語句。 (3)在PHP中,else
4、if與else if是一樣的,兩者顯示的效果一樣。,【例7-2】switchcase判斷,switch語句的語法結(jié)構(gòu)如下: switch(expr) case 表達式1: statement; case 表達式2: statement; default: statement; 執(zhí)行過程為:首先計算表達式expr,然后將這個值與第一個case后的表達式1進行比較,若相等,則執(zhí)行該case后的相應(yīng)語句;否則與第二個case后的表達式2進行比較,若一直沒有找到匹配項,則執(zhí)行default下的statement語句塊,直到遇到語句塊的結(jié)尾或者遇到break語句為止。,【例7-2】switchcase判
5、斷,break語句的意思是結(jié)束當前循環(huán)的執(zhí)行,并把控制返回給緊跟在該循環(huán)后面的下一個語句。 注意: (1)并不是每一個case語句都需要包含一個值,可以讓某個case語句為空,這表示可以忽略向case結(jié)構(gòu)中添加新的語句。當變量與某個值匹配,但又不希望程序執(zhí)行任何操作,就可以采取這種方法。 (2)在case語句中指定的表達式只能是整數(shù)、字符串、浮點數(shù)據(jù)類型,不能使用數(shù)組或?qū)ο笾底鳛閏ase表達式。,【例7-3】while循環(huán),while循環(huán)是PHP中最簡單的循環(huán)類型,和C語言中的while循環(huán)一樣。while語句的基本格式是: while (expr) statement1; statement
6、2; 或: while (expr) statement; while語句的含義很簡單,它告訴PHP只要while表達式的值為TRUE就重復(fù)執(zhí)行嵌套中的循環(huán)語句。表達式的值在每次開始循環(huán)時檢查,所以即使這個值在循環(huán)語句中改變了,語句也不會停止執(zhí)行,直到本次循環(huán)結(jié)束。有時如果while表達式的值一開始就是FALSE,則循環(huán)語句一次都不會執(zhí)行。,【例7-3】while循環(huán),注意: (1)實例中的“ ”。 (2)使用while循環(huán)時,必須在while執(zhí)行體中使判斷條件有所改變。如果沒有的話就成為死循環(huán),永無止境地執(zhí)行下去。你會感覺到電腦越來越慢,簡直不堪重負,這是因為死循環(huán)在耗盡系統(tǒng)資源。所以一定要
7、給while循環(huán)設(shè)置一個退出循環(huán)的出口。 (3)while的判斷表達式支持所有合法的表達式,包括帶有運算符的表達式。,【例7-4】dowhile循環(huán),dowhile語句的語法結(jié)構(gòu): do statement; while(expr); 而比較while循環(huán): while (expr) statement1; statement2; 此時發(fā)現(xiàn),while循環(huán)一開始就進行條件表達式的判斷,若不滿足,則一次也不執(zhí)行循環(huán)體的結(jié)構(gòu);但dowhile循環(huán)則不同,先執(zhí)行一次循環(huán)體語句,再來判斷條件表達式的值,如果為真則繼續(xù)執(zhí)行循環(huán)體,否則跳出循環(huán)。,【例7-5】for循環(huán),for循環(huán)的語法結(jié)構(gòu)如下: for
8、(expr1;expr2;expr3) statement; 其中三個表達式expr1、expr2、expr3分別有以下特點: expr1:在循環(huán)開始時執(zhí)行一次,初始化循環(huán)控制變量。 expr2:循環(huán)控制表達式,每一次循環(huán)開始之前都要對這個表達式進行判斷,若為真,則繼續(xù)執(zhí)行循環(huán);否則,退出循環(huán)。 expr3:對循環(huán)控制變量進行遞增或者遞減,控制循環(huán)變量的計數(shù);這個表達式在每次循環(huán)結(jié)束之后進行。 每個表達式都可以為空,expr2為空則無限循環(huán)下去。,【例7-6】foreach循環(huán),foreach循環(huán)和Perl以及其他語言很像,這只是一種遍歷數(shù)組的方法。foreach循環(huán)僅能用于數(shù)組,當試圖將其用
9、于其他數(shù)據(jù)類型或者一個未初始化的變量時會產(chǎn)生錯誤。它有兩種語法,第二種比較次要,但卻是第一種的有用的擴展。 foreach (array_expr as $value) statement foreach (array_expr as $key = $value) statement 第一種格式遍歷給定的array_expr數(shù)組。每次循環(huán)中,當前單元的值被賦給$value并且數(shù)組內(nèi)部的指針向前移一步(因此下一次循環(huán)中將會得到下一個單元)。,【例7-6】foreach循環(huán),第二種格式做同樣的事情,不同的是當前單元的鍵名也會在每次循環(huán)中被賦給變量$key。 也可以將本例改成第二種格式,修改如下:
10、foreach ($student as $key = $value) /循環(huán)輸出數(shù)組元素 echo $student$key = $value.n; ,【例7-6】foreach循環(huán),注意: (1)foreach目前只能遍歷數(shù)組和對象。 (2)foreach不支持用“”來抑制錯誤信息的能力。 (3)當foreach開始執(zhí)行時,數(shù)組內(nèi)部的指針會自動指向第一個單元。這意味著不需要在foreach循環(huán)之前調(diào)用reset()。 (4)除非數(shù)組是被引用,foreach 所操作的是指定數(shù)組的一個拷貝,而不是該數(shù)組本身。因此數(shù)組指針不會被each() 結(jié)構(gòu)改變,對返回的數(shù)組單元的修改也不會影響原數(shù)組。不過
11、原數(shù)組的內(nèi)部指針的確在處理數(shù)組的過程中向前移動了。假定foreach循環(huán)運行到結(jié)束,原數(shù)組的內(nèi)部指針將指向數(shù)組的結(jié)尾。 (5)自PHP 5起,可以很容易地通過在 $value 之前加上expr2;expr3) if(expr4) break; ,【例7-8】continue語句,continue語句在循環(huán)結(jié)構(gòu)中用來跳過本次循環(huán)中剩余的代碼并在條件求值為真時開始執(zhí)行下一次循環(huán),可用于while循環(huán)、dowhile循環(huán)、for循環(huán)或者switchcase判斷中,功能為跳出本次循環(huán),轉(zhuǎn)而進入下一次循環(huán)的判斷。,【例7-9】嵌套控制結(jié)構(gòu),將一種控制語句嵌套在另一種控制語句中,比如,for循環(huán)中可以嵌套for循環(huán)或者其他的while循環(huán)等,像本例中,for循環(huán)就嵌套了for循環(huán)。這種結(jié)構(gòu)稱為嵌套控制結(jié)構(gòu)。 如: for($i=0;$i; /換行 上面的代碼執(zhí)行過程為:外層的for循環(huán)首先進行計算,并執(zhí)行直到$i不再小于等于9為止。外層循環(huán)執(zhí)行1次,內(nèi)層循環(huán)執(zhí)行10次。因此,整個循環(huán)執(zhí)行了10*10次。,小結(jié),本章主要介紹
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全人事管理篇十篇
- 《行政職業(yè)能力測驗》2024年公務(wù)員考試尤溪縣臨考沖刺試卷含解析
- 八下期末考拔高測試卷(5)(解析版)
- 寒假自習課 25春初中道德與法治八年級下冊教學課件 第三單元 第五課 第2課時 基本政治制度
- 《皮外骨傷科病證》課件
- 鐵路線路設(shè)計合同三篇
- 服裝店衛(wèi)生消毒指南
- 幼兒園工作總結(jié)攜手陪伴成長無憂
- 餐飲行業(yè)助理工作總結(jié)
- 感恩父母演講稿錦集八篇
- 泌尿護士述職報告
- 明細賬(三欄式)模板
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書
- 2024年山東魯商集團有限公司招聘筆試參考題庫含答案解析
- 妊娠劇吐伴酮癥護理查房課件
- 200#溶劑油安全技術(shù)說明書
- 單位洗車房管理制度
- 廣西壯族自治區(qū)欽州市浦北縣2022-2023學年七年級上學期期末英語試題
- 廣東省深圳市2022-2023學年六年級上學期語文期末試卷(含答案)6
- 2022-2023學年北京市海淀區(qū)高一(上)期末生物試卷(附答案詳解)
- 河南省出版物經(jīng)營許可證申請登記表
評論
0/150
提交評論