PHP教學系列(七)-流程控制

(一)for計次迴圈

設定初始值和最大值重複執行程式碼片段。(分成遞增迴圈遞減迴圈)

格式:

for ( 變數初始值 ; 條件式 ; 變數遞增/遞減值(計次方式)) {

程式碼片段…

}

流程圖:

範例一:

重複執行迴圈,顯示變數i從1~10。

 

<?php

for ($i=1 ; $i<=10 ; $i++) {

echo $i ;

}

?>

 

實際範例:example-7-1.php

範例二:

重複執行迴圈,顯示變數i從10到1。

 

<?php

for ($i=10 ; $i>=1; $i–){

echo $i;

}

?>

實際範例:example-7-2.php

(二)while迴圈

說明:設定一個條件,當符合條件時,重複執行迴圈,直到條件不符合為止。

格式:

while(條件式) {

程式碼片段…;

}

流程圖:

範例:

先檢查條件,重複執行迴圈直到$i不小於10則結束迴圈,顯示變數i從1~10。

 

<?php

$i=0; //變數i初始值

while($i<10){ //當$i<10執行迴圈

$i++;  //$i=$i+1;

echo $i.'<br>’;

}

?>

 

實際範例:example-7-3.php

註:若while(條件式)設成1,則會進入無窮迴圈。 例如: (While(1){…})


(三)do…while迴圈

說明:與while幾乎相同,差別在於do…while是先執行迴圈在檢查條件式。

格式:

do {

程式碼片段…;

}while(條件式)

流程圖:

範例一:

先執行迴圈在檢查條件,直到$i小於10則結束迴圈,顯示變數i從19~10。

<?php

$i=20;

do{

$i–;

echo $i.'<br>’;

}while ($i > 10) //當$i>10執行迴圈

?>

範例二

先執行迴圈在檢查條件,所以在這個範例內do..while還是執行了一次。

 

<?php

$i=20;

do{

$i–;

echo $i.'<br>’;

}while ($i < 10) //當$i<10才執行迴圈

?>

 

實際範例:example-7-4.php


(四)foreach 迴圈

這部分將在陣列章節做介紹。


其它指令break & continue :

實際範例:example-7-5.php

範例:

break範例1:

當$i=5時,沒有執行任何東西,所以會跳過5後,繼續執行迴圈。

<?php
for ($i=1; $i<=10; $i++) { //$i 從1~10
if ($i!=5){  //若$i不等於5,顯示$i
echo $i.'<br>’;
}else{
}
}
?>
顯示結果 1、2、3、4、6、7、8、9、10

break範例2:

當$i=5時,執行了break就已經跳出迴圈,所以不會再顯示 6、7、8、9、10。

<?php
for ($i=1; $i<=10; $i++) { //$i 從1~10
if ($i!=5){  //若$i不等於5,顯示$i
echo $i.'<br>’;
}else{
break;
}
}
?>
顯示結果 1、2、3、4

continue範例1:

沒有在條件式加入continue時,執行了空條件式。

<?php
for ($i=1; $i<=10; $i++) {
if ($i%2==1) {}
echo $i.'<br>’;
}

?>

顯示結果: 1、2、3、4、5、6、7、8、9、10

continue範例2:
在條件式加入continue後,會先跳出條件式執行echo 顯示$i,在繼續執行迴圈,重新進入條件式。

<?php
for ($i=1; $i<=10; $i++) {
if ($i%2==1) {
continue;
}
echo $i.'<br>’;
}?>

顯示結果: 2、4、6、8、10

實際範例:example-7-5.php

break & continue 差異:

從上面範例就可以知道,雖然break 和 continue 都是跳出迴圈,但break跳出後就不在繼續執行迴圈了,而continue則會跳出後再重新進入迴圈進行下一輪的動作。

感謝您的閱讀,請用力地分享讓大家知道吧~~

1 2

Aidec Li
學我所見,寫我所學。凡事略懂略懂~~
更多 Aidec Li 的文章...

很抱歉,此文章關閉留言