| 課程103:程控結構。 |
摘要:
程式控制結構,分為條件式與迴圈兩種,提供程式設計決定判斷的基本能力。這個課程,探討PHP的程式控制結構,藉由實例演練,使學員能了解PHP程控結構的語法與使用方式。 |
條件式
|
| 一、if 命令句 |
| 實例一: |
| 程式碼:103_01.php |
<?php echo "if 範例: <br/>"; if($fruit == "apple"){ echo '<hr size=1>只有當 $fruit 等於是 apple 時, 這一行會才秀出來<hr size=1>'; } echo '<p>這一行永遠會秀出來: $fruit = '.$fruit."</p>"; ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_01.php
- http://www.igt.com.tw/~lib13/103_01.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_01.php?fruit=orange
|
| 實例二: |
| 程式碼:103_02.php |
<?php echo "if-else 範例: <br/>"; if($fruit == "apple"){ echo '<hr size=1>只有當 $fruit 等於是 apple 時, 這一行會才秀出來<hr size=1>'; }else{ echo '<hr size=1>只要 $fruit 不是 apple 時, 就會秀出這行<hr size=1>'; } echo '<p>我們的水果: $fruit = '.$fruit."</p>"; ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_02.php
- http://www.igt.com.tw/~lib13/103_02.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_02.php?fruit=orange
|
| 實例三: |
| 程式碼:103_03.php |
<?php echo "if-elseif-else 範例: <br/>"; if($fruit == "apple"){ echo '<hr size=1>只有當 $fruit 等於是 apple 時, 這一行會才秀出來<hr size=1>'; }elseif($fruit=="orange"){ echo '<hr size=1>只有當要 $fruit 是 orange 時, 才會秀出這行<hr size=1>'; }else{ echo '<hr size=1>其他ㄉ, 都會秀出這行<hr size=1>'; } echo '<p>我們的水果: $fruit = '.$fruit."</p>"; ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_03.php
- http://www.igt.com.tw/~lib13/103_03.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_03.php?fruit=orange
|
| 實例四:if |
| 程式碼:103_04.php |
範例: if的另一種用法, 內嵌在其他文件中 <br/>
<?php if($fruit=="apple"): ?>
<hr size=1>只有當 $fruit 等於是 apple 時, 這一行會才秀出來<hr size=1>
<?php elseif($fruit=="orange"): ?>
<hr size=1>只有當要 $fruit 是 orange 時, 才會秀出這行<hr size=1>
<?php else: ?>
<hr size=1>其他ㄉ, 都會秀出這行<hr size=1>
<?php endif; ?>
<p>我們的水果: $fruit = <?=$fruit?></p> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_04.php
- http://www.igt.com.tw/~lib13/103_04.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_04.php?fruit=orange
|
| |
| 二、switch 命令句 |
| 實例五: |
| 程式碼:103_05.php |
<?php echo "switch 範例: case 的標籤值為常數<br/>"; switch($fruit){ case "apple": $myfruit = "蘋果"; break; case "banana": $myfruit = "香蕉"; break; case "orange": $myfruit = "柳橙"; break; case "guava": $myfruit = "拔辣"; break; case "pear": $myfruit = "梨子"; break; default: $myfruit = "西瓜"; } echo "<hr size=1>你選的是 $myfruit <hr size=1>"; ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_05.php
- http://www.igt.com.tw/~lib13/103_05.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_05.php?fruit=banana
- http://www.igt.com.tw/~lib13/103_05.php?fruit=orange
- http://www.igt.com.tw/~lib13/103_05.php?fruit=guava
- http://www.igt.com.tw/~lib13/103_05.php?fruit=pear
- http://www.igt.com.tw/~lib13/103_05.php?fruit=kiwi
|
| 實例六: |
| 程式碼:103_06.php |
<?php echo "switch 範例: case 的標籤值為變數<br/>"; $a = "apple"; $b = "banana"; $c = "orange"; $d = "guava"; $e = "pear"; switch($fruit){ case $a: $myfruit = "蘋果"; break; case $b: $myfruit = "香蕉"; break; case $c: $myfruit = "柳橙"; break; case $d: $myfruit = "拔辣"; break; case $e: $myfruit = "梨子"; break; default: $myfruit = "西瓜"; } echo "<hr size=1>你選的是 $myfruit <hr size=1>"; ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_06.php
- http://www.igt.com.tw/~lib13/103_06.php?fruit=apple
- http://www.igt.com.tw/~lib13/103_06.php?fruit=banana
- http://www.igt.com.tw/~lib13/103_06.php?fruit=orange
- http://www.igt.com.tw/~lib13/103_06.php?fruit=guava
- http://www.igt.com.tw/~lib13/103_06.php?fruit=pear
- http://www.igt.com.tw/~lib13/103_06.php?fruit=kiwi
|
|
迴圈:
|
| 一、while 迴圈 |
| 基本型態 |
while(condition){
statement 1;
statement 2;
.
.
statement n;
} |
|
| 當 condition 的值為真時,一直執行 { 和 }所包圍住的程式區段,直到 condition的值變成假的為止。所以,使用while迴圈時,要特別注意,程式區段裡面的命令句,或是condition這個運算式本身,必須要能隨時更新,讓condition能變成假的值。
|
| |
| 實例七: |
| 程式碼:103_07.php |
<?php echo "while 範例: { 和 }所包圍的程式區段, 改變 while 的 condition<br/>"; echo "<hr size=1>"; $i = 0; while($i < 10){ echo "$i 的平方: ".$i * $i."<br />"; $i++; } ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_07.php
|
| 實例八: |
| 程式碼:103_08.php |
<?php echo "while 範例: while condition 本身的運算結果, 改變 while 的 condition<br/>"; echo '使用 pre-increment: 變數 $i 的值先遞增, 再來檢查是否比 10 小<br />'; echo "<hr size=1>"; $i = 0; while(++$i < 10){ echo "$i 的平方: ".$i * $i."<br />"; } ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_08.php
|
| 實例九: |
| 程式碼:103_09.php |
<?php echo "while 範例: while condition 本身的運算結果, 改變 while 的 condition<br/>"; echo '使用 post-increment: 先檢查是否比 10 小, 再來遞增變數 $i 的值 <br />'; echo "<hr size=1>"; $i = 0; while($i++ < 10){ echo "$i 的平方: ".$i * $i."<br />"; } ?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_09.php
|
| 實例十: |
| 程式碼:103_10.php |
範例: while 的另一種用法, 內嵌在其他文件中 <br/><hr size=1>
<?php $i = 0; ?>
<?php while($i++ < 10): ?>
<?=$i?> 的平方: <?=$i * $i?> <br />
<?php endwhile;?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_10.php
|
| |
| 二、for 迴圈 |
| 實例十一: |
| 程式碼:103_11.php |
<?php echo "範例: for 迴圈<br>";
echo "<TABLE border=1>";
echo "<TR><TD>數字</TD><TD>平方</TD></TR>";
for($i = 1; $i < 10; $i++){
echo "<TR><TD>$i</TD><TD>".$i
* $i."</TD></TR>";
}
echo "</TABLE>";
?> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_11.php
|
| 實例十二: |
| 程式碼:103_12.php |
範例: for 的另一種用法, 內嵌在其他文件中 <br/><hr size=1>
<TABLE border=1>
<TR><TD>數字</TD><TD>平方</TD></TR>
<?php for($i = 1; $i < 10; $i++): ?>
<TR><TD><?=$i?></TD><TD><?=$i
* $i?></TD></TR>
<?php endfor;?>
</TABLE> |
|
程式執行結果:
|
- http://www.igt.com.tw/~lib13/103_12.php
|
綜合實例:
|
| 寫一個程式模擬投擲一顆骰子6000次,並記錄每個點數,出現的次數。 |