什麼是流程控制:在宣告式的程式語言中,流程控制指令是指會改變程式運作順序的指令,可能是運行不同位置的指令,或是在二段(或多段)程式中選擇一個運行。
指令式程式設計:指令「機器」如何做(how),這樣不管你想要的是什麼(what),它都會按照你的指令實作。
聲明式程式設計:告訴「機器」你想要的是什麼(what),讓機器想出如何做(how)。
不論是PHP還是別的語法,程式總是由若干條語句組成。
從執行方式來看,語句的控制結構分為以下三種:
1、 順序結構:從第一條語句到最後一條語句完全順序執行;
2、 選擇結構:依照使用者輸入或語句的中間結果去執行若干任務;
3、 迴圈結構:依照某條件重複地執行某項任務若干次,或直到達成目標即可。
PHP中有三種控制語句使用以實現選擇結構與循環結構:
#1、條件控制語句:if、else、elseif和switch;
2、循環控制語句:foreach、while、do...while..和for;
#3、 轉移控制語句:break、continue和return。
下面有幾個小實例可以參考一下
條件控制語句:
If語句,用法:
If(E) 语句块1; else 语句块2;
解析:如果E傳回值為true,則執行語句區塊1;否則執行語句區塊2。
例子,程式碼:
<?php $a = 59; //根据$a的值,判断是否要妹子。如果>=60则输出要代码 if($a>=60){ echo “要妹子”; }else echo “要代码”; ?>
If···elseif···else語句,用法:
if(E) echo '要妹子';; else if(X) echo '不要妹子';; else echo '要代码';
解析:如果E為true,則執行要妹子。否則,如果B的值為true,則不要女生;否則執行語要代碼。當然:if語句也可以嵌套使用。
下面是If···elseif···else的範例:
<?php $a = 59; if($a>=60) //在大于等于60的情况里在进行分类 { if($a==100) echo “要妹子”; elseif($a>=90) echo “睡妹子”; else echo “睡不起”; } else echo “睡大街吧”; ?>
Switch語句,文法如下:
switch(E) { case val1: 语句块1; Break; case val2: 语句块2; Break; default: 语句块3; }
當一個case語句中的值和switch表達式E的值匹配時,PHP開始執行語句,直到switch程式段結束或遇到第一個break語句為止
# (如果沒有遇到break,則PHP將繼續執行下一個case)。
break是結束整個循環體,continue是結束單字循環
下面是一個沒有break的例子:
<?php switch($leve1) { case 3: echo “高级”; case 2: echo “中级”; case 1: echo “初级”; default: echo “错误的等级值”; } ?>
執行結果為:高級中級初級錯誤的等級值
由此你想到了什麼? ?
<?php $level = 3; switch($level) { case 3: echo “赋予管理员权限”; case 2: echo “赋予站务权限”; case 1: echo “赋予版主权限”; default: echo “赋予普通用户权限”; } ?>
與if相比switch達到了更高的效率:
<?php $a = 59; switch($a) { case $a == 100; echo “满分”; break; case $a >= 90; echo “优秀”; break; case $a >= 60; echo “及格”; break; default: echo “不及格”; } ?>
那麼循環語句是乾嘛用的呢?當然是用於重複地執行某一個操作。
While 与do···while While的语法: While(E) 语句块;
解析:只要while表達式中的E為TRUE,就執行statement。
do···while的語法:
do { 语句块; } while(E)
do···while與while的區別只是在循環結束時do···while進行檢查,不管循環的條件滿足與否,do···while都將執行一次。
例如:
<?php $a = 5; //先判断$a是否大于5,如果大于5则执行。 while($a>5) { echo “This is while.”; $a–; } do //先执行do之内的语句,然后进行判断。 { echo “This is do…while.”; $a–; } while($a > 5) ?>
For語句,語法:
For(A;B;C) Statement;
分析:第一個表達式在循環開始時先無條件的執行一次,一般A都為賦值語句;B在循環開始前運行,如果為TRUE,
則繼續循環,執行循環的嵌套語句;C在循環之後執行,一般都是自加自減運算。
程式碼:
<?php for($a = 5;$a > 5;$a–); echo “This is for”; ?>
Foreach語句,用於陣列的遍歷,以後將會學到。
轉移控制語句
#PHP中主要有三種轉移控制語句:break、continue和return。
1、break語句
break語句用於結束目前循環,break可以接受一個可選的數字參數來決定跳出幾重循環。
範例:
<?php $a = 5; $b = 10; while($a <100) //$a<100开始循环 { echo “a = “.$a.”<BR>”; //输出$a,“.”时连接运算符,相当于java中的“+” while($b > 0) //$b>0,开始循环 { echo “b = ” .$b.”<BR>”; //输出$b $b–; if($b == 3 ) //如果$b==3,则跳出while($b>0) break; } $a++; if($a == 30) break; //如果$a==30,就跳出while($a<100) } ?>
Continue語句
Continue用於跳出本次循環,與break不同的是,continue跳出後將繼續執行下一次循環。
Return語句 Return語句用來結束一個函數或一個腳本檔。如果在函數中呼叫return語句將立即結束這個函數的執行,並將它的值作為參數傳回。
當然,在PHP中也可以將return當作一個函數來使用。如return(),並在括號內寫上要傳回的參數。這種用法並不常見。
給大家附上一張圖細細斟酌。
以上是什麼是php流程控制?了解流程控制語句運作步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!