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

下載本文檔

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

文檔簡介

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

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

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

4跳轉(zhuǎn)語句

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

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論