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後,繼續執行迴圈。
for ($i=1; $i<=10; $i++) { //$i 從1~10
if ($i!=5){ //若$i不等於5,顯示$i
echo $i.'<br>’;
}else{
}
}
?>
break範例2:
當$i=5時,執行了break就已經跳出迴圈,所以不會再顯示 6、7、8、9、10。
for ($i=1; $i<=10; $i++) { //$i 從1~10
if ($i!=5){ //若$i不等於5,顯示$i
echo $i.'<br>’;
}else{
break;
}
}
?>
continue範例1:
沒有在條件式加入continue時,執行了空條件式。
for ($i=1; $i<=10; $i++) {
if ($i%2==1) {}
echo $i.'<br>’;
}
?>
continue範例2:
在條件式加入continue後,會先跳出條件式執行echo 顯示$i,在繼續執行迴圈,重新進入條件式。
for ($i=1; $i<=10; $i++) {
if ($i%2==1) {
continue;
}
echo $i.'<br>’;
}?>
實際範例:example-7-5.php
break & continue 差異:
從上面範例就可以知道,雖然break 和 continue 都是跳出迴圈,但break跳出後就不在繼續執行迴圈了,而continue則會跳出後再重新進入迴圈進行下一輪的動作。
感謝您的閱讀,請用力地分享讓大家知道吧~~
1 2
很抱歉,此文章關閉留言