PHP課件第3章 PHP流程控制語(yǔ)句_第1頁(yè)
PHP課件第3章 PHP流程控制語(yǔ)句_第2頁(yè)
PHP課件第3章 PHP流程控制語(yǔ)句_第3頁(yè)
PHP課件第3章 PHP流程控制語(yǔ)句_第4頁(yè)
PHP課件第3章 PHP流程控制語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

內(nèi)容PHP的三種控制結(jié)構(gòu)條件控制語(yǔ)句循環(huán)控制語(yǔ)句跳轉(zhuǎn)語(yǔ)句4123PHP文件間引用跳轉(zhuǎn)5內(nèi)容1PHP的三種控制結(jié)構(gòu)1.1順序結(jié)構(gòu)1.2選擇結(jié)構(gòu)1.3循環(huán)結(jié)構(gòu)1.1順序結(jié)構(gòu)順序結(jié)構(gòu)是最基本的結(jié)構(gòu)方式,各流程依次按順序執(zhí)行。圖3-1順序結(jié)構(gòu)傳統(tǒng)流程圖圖3-2N-S結(jié)構(gòu)化流程圖1.2選擇(分支)結(jié)構(gòu)選擇結(jié)構(gòu)就是對(duì)給定條件進(jìn)行判斷,條件為真時(shí)執(zhí)行一個(gè)分支,條件為假時(shí)執(zhí)行另一個(gè)分支。圖3-3條件成立與否都執(zhí)行語(yǔ)句或語(yǔ)句塊圖3-4條件為否不執(zhí)行語(yǔ)句或語(yǔ)句塊1.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)可以按照需要多次重復(fù)執(zhí)行一行或者多行代碼。循環(huán)結(jié)構(gòu)分為兩種:前測(cè)試型循環(huán)和后測(cè)試型循環(huán)。圖3-5當(dāng)型循環(huán)流程圖前測(cè)試型循環(huán),先判斷后執(zhí)行。1.3循環(huán)結(jié)構(gòu)圖3-6直到型循環(huán)流程圖后測(cè)試型循環(huán),先執(zhí)行后判斷。1.3循環(huán)結(jié)構(gòu)其中的順序結(jié)構(gòu)很容易理解,就是直接輸出程序運(yùn)行結(jié)果,而選擇和循環(huán)結(jié)構(gòu)則需要一些特殊的控制語(yǔ)句來(lái)實(shí)現(xiàn)。包括以下3種控制語(yǔ)句。1.條件控制語(yǔ)句:if、else、elseif和switch。2.循環(huán)控制語(yǔ)句:while、do…while、for和foreach。3.跳轉(zhuǎn)控制語(yǔ)句:break、continue和return。內(nèi)容條件控制語(yǔ)句22.1if條件控制語(yǔ)句2.2switch多分支語(yǔ)句所謂條件控制語(yǔ)句就是對(duì)語(yǔ)句中不同條件的值進(jìn)行判斷,進(jìn)而根據(jù)不同的條件執(zhí)行不同的語(yǔ)句。在條件控制語(yǔ)句中主要有兩個(gè)語(yǔ)句:if條件控制語(yǔ)句和switch多分支語(yǔ)句。2.1if條件控制語(yǔ)句

if條件控制語(yǔ)句是所有流程控制語(yǔ)句中最簡(jiǎn)單、最常用的一個(gè),根據(jù)獲取的不同條件判斷執(zhí)行不同的語(yǔ)句。if(expr)statement; //這是基本的表達(dá)式if(){} //這是執(zhí)行多條語(yǔ)句的表達(dá)式if(){}else{} //這是通過(guò)else延伸了的表達(dá)式if(){}elseif(){}else{} //這是加入了elseif同時(shí)判斷多個(gè)條件的表達(dá)式值為TRUE,將執(zhí)行statement值為FALSE,則忽略statementif語(yǔ)句可以無(wú)限層地嵌套到其他if語(yǔ)句中去,實(shí)現(xiàn)更多條件的執(zhí)行。2.1if條件控制語(yǔ)句圖3-7if語(yǔ)句流程圖圖3-8if…else語(yǔ)句流程控制圖2.1if條件控制語(yǔ)句圖3-9elseif語(yǔ)句的流程控制圖2.1if條件控制語(yǔ)句【例3-1】if…else的應(yīng)用。<?php $islove=false; //為變量賦予一個(gè)邏輯值

if($islove==true){ //判斷變量的邏輯值是否為真 echo"如果愛我,我們一起去爬山"; } else{ echo"我在家看電視"; }?>輸出結(jié)果:我在家看電視在同時(shí)判斷多個(gè)條件的時(shí)候,elseif的語(yǔ)句來(lái)擴(kuò)展需求。elseif語(yǔ)句被放置在if和else語(yǔ)句之間,滿足多條件同時(shí)判斷的需求。2.2switch多分支語(yǔ)句switch語(yǔ)句和if條件控制語(yǔ)句類似,實(shí)現(xiàn)將同一個(gè)表達(dá)式與很多不同的值比較,獲取相同的值,并且執(zhí)行相同的值對(duì)應(yīng)的語(yǔ)句。<?phpswitch(expr){ //expr條件為變量名稱caseexpr1: //case后的expr1為變量的值statement1; //冒號(hào)":"后的是符合該條件時(shí)要執(zhí)行的部分break; //應(yīng)用break來(lái)跳離循環(huán)體caseexpr2:statement2;break;default:statementN;break;}?>2.2顯示MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)圖3-10switch語(yǔ)句流程控制圖注:1.表達(dá)式的類型可以是數(shù)值型或者字符串型;2.多個(gè)不同的case可以執(zhí)行同一個(gè)語(yǔ)句塊;2.2switch多分支語(yǔ)句【例3-2】應(yīng)用switch語(yǔ)句判斷成績(jī)的等級(jí)情況。<?php $cont=49; //以下代碼實(shí)現(xiàn)了根據(jù)$cont的值,判斷成績(jī)等級(jí)的功能 switch($cont){ case$cont==100; //如果$cont的值等于100,則輸出“滿分” echo"滿分"; break; case$cont>=90; //如果$cont的值大于等于90,則輸出“優(yōu)秀” echo"優(yōu)秀"; break; case$cont>=60; //如果$cont的值大于等于60,則輸出“及格” echo"及格"; break; default: //如果$cont的值小于60,則輸出“不及格” echo“不及格”;?>運(yùn)行結(jié)果為:不及格2.2switch多分支語(yǔ)句注:如果從使用的效率上進(jìn)行區(qū)分,使用switch語(yǔ)句的效率相對(duì)更高一些,判斷的分支越多越明顯。如果從語(yǔ)句實(shí)用性的角度去區(qū)分,if條件語(yǔ)句是實(shí)用性最強(qiáng)和應(yīng)用范圍最廣的語(yǔ)句。內(nèi)容循環(huán)控制語(yǔ)句33.1while循環(huán)語(yǔ)句3.2dowhile循環(huán)語(yǔ)句3.3for循環(huán)語(yǔ)句3.4foreach循環(huán)語(yǔ)句循環(huán)語(yǔ)句是在滿足條件的情況下反復(fù)地執(zhí)行某一個(gè)操作。3.1while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句,其作用是反復(fù)的執(zhí)行某一項(xiàng)操作,最簡(jiǎn)單,最常用。該語(yǔ)句的特點(diǎn):先判斷表達(dá)式,后執(zhí)行語(yǔ)句。while(expr){ statement;/*先判斷條件,當(dāng)條件滿足時(shí)執(zhí)行語(yǔ)句塊否則不向下執(zhí)行*/}圖3-11while循環(huán)控制語(yǔ)句的操作流程值為FALSE,則忽略statement值為TRUE,則執(zhí)行statement3.1while循環(huán)語(yǔ)句【例3-3】將10以內(nèi)的偶數(shù)輸出,若不是則不輸出。<?php $num=1; $str="10以內(nèi)的偶數(shù)為:"; while($num<=10){ if($num%2==0){ $str.=$num.""; } $num++; } echo$str;?>運(yùn)行結(jié)果:10以內(nèi)的偶數(shù)為:2468103.2dowhile循環(huán)語(yǔ)句dowhile循環(huán)語(yǔ)句,使用方式和while相似,也是通過(guò)判斷表達(dá)式的值來(lái)輸出循環(huán)語(yǔ)句。do{ /*程序在未經(jīng)判斷之前就進(jìn)行了一次循環(huán),循環(huán)到while部分才判斷條件,即使條件不滿足,程序也已經(jīng)運(yùn)行了一次*/statement; }while(expr);值為FALSE,則忽略statement值為TRUE,則執(zhí)行statement3.2dowhile循環(huán)語(yǔ)句圖3-12do…while循環(huán)語(yǔ)句的操作流程3.2dowhile循環(huán)語(yǔ)句【例3-4】通過(guò)do…while語(yǔ)句計(jì)算一個(gè)員工總的工齡工資增加情況。 <?php $a=1; //定義變量$a的值為1 $year=5; do{ $price=50*12*$a; echo"您第".$a."年的工齡工資為<b>".$price."</b>元<br>"; $a++; }while($a<=$year); ?>運(yùn)行結(jié)果:您第1年的工齡工資為600元您第2年的工齡工資為1200元您第3年的工齡工資為1800元您第4年的工齡工資為2400元您第5年的工齡工資為3000元3.2dowhile循環(huán)語(yǔ)句定義變量a的值為6,重新執(zhí)行示例,其代碼如下。<?php $a=6; //當(dāng)直接定義變量$a的值為6時(shí),仍可以輸出第6年的工資 $year=5; //定義初始變量$year=5 do{ $price=50*12*$a; echo"您第".$a."年的工齡工資為<b>".$price."</b>元<br>"; $a++; }while($a<=$year); //當(dāng)$year等于5時(shí)程序沒有停止,繼續(xù)計(jì)算第6年工資,當(dāng)$year等于6時(shí)判斷條件不符合停止循環(huán),但是第6年的工資已經(jīng)輸出了。?>運(yùn)行結(jié)果:您第6年的工齡工資為3600元3.2dowhile循環(huán)語(yǔ)句注:這就是while和do…while語(yǔ)句之間的區(qū)別。do…while語(yǔ)句是先執(zhí)行后判斷,無(wú)論表達(dá)式的值是否為TRUE,都將執(zhí)行一次循環(huán);而while語(yǔ)句則是首先判斷表達(dá)式的值是否為TRUE,如果為TRUE則執(zhí)行循環(huán)語(yǔ)句;否則將不執(zhí)行循環(huán)語(yǔ)句。do…while循環(huán)語(yǔ)句后邊必須加上分號(hào)作為該語(yǔ)句的結(jié)束。3.3for循環(huán)語(yǔ)句for循環(huán)語(yǔ)句是PHP中最復(fù)雜的循環(huán)控制語(yǔ)句,擁有3個(gè)條件表達(dá)式。for(expr1;expr2;expr3){statement}圖3-13for循環(huán)語(yǔ)句的流程圖第1個(gè)條件表達(dá)式,在第一次循環(huán)開始時(shí)被執(zhí)行第2個(gè)條件表達(dá)式,在每次循環(huán)開始時(shí)被執(zhí)行,決定循環(huán)是否繼續(xù)第3個(gè)條件表達(dá)式,在每次循環(huán)結(jié)束時(shí)被執(zhí)行3.3for循環(huán)語(yǔ)句【例3-5】使用for循環(huán)來(lái)計(jì)算2~100之間所有偶數(shù)之和。<?php $b=""; for($a=0;$a<=100;$a+=2){ //執(zhí)行for循環(huán) $b=$a+$b; //計(jì)算所有偶數(shù)之和 } echo"結(jié)果為:<b>".$b."</b>";?>運(yùn)行結(jié)果:結(jié)果為:25503.3for循環(huán)語(yǔ)句注:在編程時(shí),有時(shí)會(huì)遇到使用for循環(huán)的特殊語(yǔ)法格式來(lái)實(shí)現(xiàn)無(wú)限循環(huán)。語(yǔ)法格式為:for(;;){…}對(duì)于這種無(wú)限循環(huán)可以通過(guò)break語(yǔ)句跳出循環(huán)。例如:for(;;){ if(x<20) break; x++;}3.4foreach循環(huán)語(yǔ)句foreach循環(huán)控制語(yǔ)句主要用于處理數(shù)組,是遍歷數(shù)組的一種簡(jiǎn)單方法。語(yǔ)法有兩種格式:foreach(array_expressionas$value){statement}foreach(array_expressionas$key=>$value){statement}說(shuō)明:當(dāng)使用foreach語(yǔ)句用于其它數(shù)據(jù)類型或者未初始化的變量時(shí)會(huì)產(chǎn)生錯(cuò)誤。為避免,最好使用is_array()函數(shù)先來(lái)判斷變量是否為數(shù)組類型。若是,再進(jìn)行操作。3.4foreach循環(huán)語(yǔ)句【例3-6】foreach輸出數(shù)組元素值的應(yīng)用。<?php$a=array(1,2,3,4,5,6);foreach($aas$b)echo$b;?>內(nèi)容跳轉(zhuǎn)語(yǔ)句44.1break語(yǔ)句4.2continue語(yǔ)句4.3exit語(yǔ)句

4跳轉(zhuǎn)語(yǔ)句

continue語(yǔ)句和return語(yǔ)句使用起來(lái)非常簡(jiǎn)單且非常容易掌握,主要原因是它們都被應(yīng)用在指定的環(huán)境中,如for循環(huán)語(yǔ)句中。Return語(yǔ)句在應(yīng)用環(huán)境上較前兩者相對(duì)單一,一般被用在自定義函數(shù)和面向?qū)ο蟮念愔小?.1break語(yǔ)句break關(guān)鍵字可以終止當(dāng)前的循環(huán),包括while、do…while、for、foreach和switch在內(nèi)的所有控制語(yǔ)句。break語(yǔ)句不僅可以跳出當(dāng)前的循環(huán),還可以指定跳出幾重循環(huán)。格式為:breakn;//參數(shù)n指定要跳出的循環(huán)數(shù)量。圖3-14break關(guān)鍵字的流程圖4.1break語(yǔ)句【例3-7】計(jì)算半徑1到10的圓面積,直到面積大于100時(shí)為止。<?phpdefine(PI,3.14);for($r=1;$r<=10;$r++){$area=PI*$r*$r;if($area>100)break;echo"r=$r,area=$area";echo"<br/>";}?>運(yùn)行結(jié)果:r=1,area=3.14r=2,area=12.56r=3,area=28.26r=4,area=50.24r=5,area=78.54.2continue語(yǔ)句continue語(yǔ)句只能終止本次循環(huán),并開始下一輪循環(huán)的執(zhí)行操作。continue也可以指定跳出幾重循環(huán).圖3-15continue跳轉(zhuǎn)語(yǔ)句的流程圖4.2continue語(yǔ)句【例3-8】使用for循環(huán)來(lái)計(jì)算1到100之間所有奇數(shù)的和。在for循環(huán)中,當(dāng)循環(huán)到偶數(shù)時(shí),使用continue實(shí)現(xiàn)跳轉(zhuǎn),然后繼續(xù)執(zhí)行奇數(shù)的運(yùn)算。<?php$sum=0;for($i=1;$i<=100;$i++){ if($i%2==0){ continue; } $sum=$sum+$i;}echo$sum;?>運(yùn)行結(jié)果為:25004.2continue語(yǔ)句說(shuō)明:break和continue語(yǔ)句都是實(shí)現(xiàn)跳轉(zhuǎn)的功能,但還是有區(qū)別的:continue語(yǔ)句只是結(jié)束本次循環(huán),并不是終止整個(gè)循環(huán)的執(zhí)行。break語(yǔ)句則是結(jié)束整個(gè)循環(huán)過(guò)程。4.3exit語(yǔ)句exit語(yǔ)言結(jié)構(gòu)終止整個(gè)PHP程序的執(zhí)行,即后續(xù)代碼不會(huì)執(zhí)行。exit語(yǔ)言結(jié)構(gòu)的語(yǔ)法格式:voidexit([stringmessage])exit語(yǔ)言結(jié)構(gòu)的功能:輸出字符串信息message,然后終止PHP程序的運(yùn)行。<?php@($a=2/0)orexit("發(fā)生被零除錯(cuò)誤!");echo"exit后面的語(yǔ)句將不會(huì)運(yùn)行!";?>運(yùn)行結(jié)果:發(fā)生被零除錯(cuò)誤!【例3-9】exit語(yǔ)言結(jié)構(gòu)的應(yīng)用。注:字符串信息message必須寫在小括號(hào)里exit不是函數(shù),而是一個(gè)語(yǔ)言結(jié)構(gòu)die語(yǔ)言結(jié)構(gòu)也可終止程序的運(yùn)行,可看作是exit的別名內(nèi)容5PHP文件間引用跳轉(zhuǎn)5.1include()函數(shù)5.2include()和require()函數(shù)的區(qū)別5.3include_once()函數(shù)5PHP文件間引用跳轉(zhuǎn)引用外部文件可以減少代碼的重用性,是PHP編程的重要技巧。PHP提供了4個(gè)非常簡(jiǎn)單卻很有用的包含函數(shù)。它們?cè)试S重新使用任何類型的代碼。使用任意一個(gè)語(yǔ)句均可將一個(gè)文件載入PHP腳本中,從而減少代碼的重用性,提高代碼維護(hù)和更新的效率。5.1include()函數(shù)include函數(shù)的語(yǔ)法格式:mixedinclude(stringresource)include函數(shù)的功能:include語(yǔ)言結(jié)構(gòu)將一個(gè)資源文件resource載入到當(dāng)前PHP程序中。若找不到資源文件resource,返回FALSE;若找到資源文件resource,且資源文件resource沒有返回值時(shí),返回整數(shù)1,否則返回資源文件resource的返回值。5.1include()函數(shù)注:1.使用include()函數(shù)載入文件時(shí),如果被載入的文件中包含PHP語(yǔ)句,這些語(yǔ)句必須使用PHP開始和結(jié)束標(biāo)記標(biāo)識(shí)。2.resouce資源是互聯(lián)網(wǎng)上的某個(gè)資源時(shí),需要將配置文件php.ini中的選項(xiàng)allow_url_include設(shè)置為on(allow_url_include=on),否則不能引用互聯(lián)網(wǎng)資源。5.1include()函數(shù)【例3-10】程序文件位于同一個(gè)目錄下的include語(yǔ)句的應(yīng)用(即“include.php”和“main.php”位于同一個(gè)目錄下)。程序文件一:include.php<?php$color='red';$fruit='apple';echo"這是被引用的文件輸出!<br/>";

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論