PHP 判斷式與迴圈

學完PHP的運算子後要開始來加些判斷或者是改變程式執行的流程,為什麼說改變執行流程很重要呢?因為在 PHP 的程式中是由上而下的執行,但是不是每次都可以重頭執行到尾,所以需要使用迴圈之類的方法去達到改變流程。

判斷式

if

PHP 程式裡面 “=” 是賦值 ,$num = 10; 是把變數 $num 設定為 10,如果在判斷式裡面做判斷要用 “==”。

1
2
3
4
5
6
7
8
9
<?php 
if($num == 10){
//當 $num 等於 10 的時候執行
}
//用 != 表示不等於
if($num != 10){
//當 $num 不等於 10 的時候執行
}
?>

if-else

1
2
3
4
5
6
7
<?php 
if($num == 10){
//當 $num 等於 10 的時候執行
}else{
//當 $num 不等於 10 的時候執行
}
?>

if-else if-else

1
2
3
4
5
6
7
8
9
<?php 
if($num == 10){
//當 $num 等於 10 的時候執行
}else if($num == 20){{
//當 $num 等於 20 的時候執行
}else{
//當 $num 不等於 10 跟 20 的時候執行
}
?>

在正常的情況上述三種判斷式就可以完成 90% 的程式,但是通常會為了程式的可讀性,在多條件的時候會使用switch-case。

switch-case

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
switch ($num) {
case 10:
//當 $num 等於 10 的時候執行
break;
case 20:
//當 $num 等於 20 的時候執行
break;
... //這裡可以放更多的 case
default:
//當 $num 不等於 10 跟 20 的時候執行
}
?>

case的下的程式碼最後一定要加上一個break跳出程式碼,不然它會繼續執行接下來的所有case。

迴圈

迴圈是指符合特定條件下會重複執行指定的程式區塊,直到不符合才會跳出。

for

for 迴圈的格式為 for(起始值;判斷式;遞增/遞減){程式區塊}

1
2
3
4
5
6
7
<?php  
//設定 $loop 初始值為0,當 $loop 小於 10 每次遞增
for($loop=0;$loop<10;$loop++){
//印出 $loop 值
echo $loop;
}
?>

while

while 迴圈的格式為 while(判斷式){程式區塊}

1
2
3
4
5
6
7
8
9
<?php  
//設定 $loop 初始值為0
$loop = 0;
//當 $loop 小於 10 時執行
while($loop<10){
echo $loop;
$loop ++; //這行要記得加,不然迴圈將會變成無限迴圈
}
?>

do while

do while 迴圈的格式為 do{程式區塊}while(判斷式);

1
2
3
4
5
6
<?php  
//設定 $loop 初始值為0
do{
echo $loop;
}while($loop<10); //結尾要記得加;
?>

while 跟 do while 迴圈功能其實大同小異,但是 do while 會先執行一次之後判斷條件符合之後在繼續執行。
今天就先到這裡囉~ 明天繼續!!