流程控制的定義
流程控制是控製程式的手段,如果程式沒有了流程控制,就不會有程設計語言,大多數程式不是線性執行語句控制,如果程式需要和使用者交流,要根據使用者輸入決定執行序列,甚至需要程式碼重複執行,這些都離不了流程控制。
在php中有三種基本的程式結構:順序結構、分支結構、循環結構。
一、順序結構(推薦學習:PHP程式設計從入門到精通)
順序結構是最常用的語句結構比如說賦值語句,它的執行順序自上而下,依序執行。比如說:
$a=3;$b=4;如果想把$a和$b的值交換,我們需要第三個變數$c 實作方法如下:
<?php //实现$a和$b的值互换 $a=3; $b=4; $c=$a; $a=$b; $b=$c; echo'$a='.$a; echo"<br/>"; echo'$b='.$b; ?>
結果是$a=4;$b=3;實現$a和$b值的互換:
#二、分支結構
分支結構又稱為條件結構,它是依據明確的條件選擇選擇執行路徑,而不是嚴格按照順序執行,在程式設計實際運用中要根據程式流程選擇適合的分支語句,它是依照條件的結果改變執行的程式。分支結構主要有以下幾種形式。
單一分支結構(if語句)
if結構是單一條件結構,if語句是改變語句的執行順序,是很多語言,包括php在內的最重要的特性之一。
if語句格式:
if(表达式) 语句块;
表達式是執行的條件,條件只能是布林型值,表達式如果是其他類型的值也會自動轉換成布林型的TRUE或者FALSE,是否執行取決於「表達式」結果。下例將輸出"晚上好!",如果當前時間(HOUR) 大於18:
<?php $t=date("H"); if ($t>"18") { echo "晚上好!"; } ?>
雙向條件分支結構(if...else)
if語句包含else字據,滿足條件執行一條語句,不滿足執行其他語句,這是else子句功能,else是if語句從句,必須和if同時使用,不能單獨存在。 else語法格式:
if (条件) { 条件为 true 时执行的代码; } else { 条件为 false 时执行的代码; }
下例將輸出"白天好!",如果當前時間小於20,否則輸出"晚上好!"代碼如下:
<?php $t=date("H"); if ($t<"20") { echo "白天好!"; } else { echo "晚上好!"; } ?>
多向分支結構(elseif子句)
它是if和else組合,elseif子句會根據不同的表達式值決定執行那個語句區塊。 else語句格式如下
if (条件) { 条件为 true 时执行的代码; } elseif (condition) { 条件为 true 时执行的代码; } else { 条件为 false 时执行的代码; }
三、循環結構
#電腦最擅長的是依照條件重複執行某些操作,它的特徵是給定條件成立時,反覆執行直到條件不成立為止,這個條件成為循環條件,反覆執行的程序段成為循壞體。 php提供有三種循環有while循壞、do-while循環、for循壞
#while循壞
while循壞是php中最簡單的循壞,while需要先設定一個布林型條件,條件成立不斷執行一個語句區塊,直到條件不成立為止。常用於控制循環次數未知的循壞結構。 while的語句格式如下
while (条件为真) { 要执行的代码; }
實例
<?php $x=0; while($x<=3) { echo "这个数字是:$x <br>"; $x++; } ?>
do....while迴圈
do.... while迴圈會先執行一次程式碼區塊,然後檢查條件,如果指定條件為真,則重複循環,如果一開始就是FALSE則整個循壞停止。 do....while循環語句格式:
do { 要执行的代码; } while (条件为真);
for語句循壞
for迴圈適合用於直到重複執行次數的情況,for語句需要預先定義好,它是php中最複雜的循壞結構,for語句格式如下:
for(初始化;条件表达式;增量){ 语句块; }
初始語句是一個賦值語句,設定循環變數初始賦值。表達式是一個關係表達式,決定何時退出循壞,條件為真繼續執行,條件為假結束循壞執行下面語句。增量定義循壞控制變量,每次循壞以什麼方式變化。
<?php for ($y=5; $y<=10; $y++) { echo "数字是:$y"; echo"<br/>"; } ?>
以上是關於php中的流程控制的簡單介紹,在實際工作中需要使用大量的控制語句,他們之間也會現嵌套的,流程控制語句需要不斷提高自身能力和不斷總結進步。
以上是PHP中的流程控制架構有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!