首頁  >  文章  >  後端開發  >  什麼是php流程控制?了解流程控制語句運作步驟

什麼是php流程控制?了解流程控制語句運作步驟

伊谢尔伦
伊谢尔伦原創
2018-05-10 16:16:473077瀏覽

 什麼是流程控制:在宣告式的程式語言中,流程控制指令是指會改變程式運作順序的指令,可能是運行不同位置的指令,或是在二段(或多段)程式中選擇一個運行。

  指令式程式設計:指令「機器」如何做(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 &#39;要妹子&#39;;;
else if(X)
  echo &#39;不要妹子&#39;;;
else
 echo &#39;要代码&#39;;

解析:如果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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn