中央論壇 - CENTER BBS

標題: 流程控制 [打印本頁]

作者: f66666602    時間: 2007-8-14 05:12
標題: 流程控制
由於 PHP 的大部份語法都是繼承了 C 語言的語法,因此,在流程控制方面,也是有著和 C 語言極類似的循環。PHP 的循環不像 ASP 般可以使用 goto 的 BASIC 語法,PHP 是結構化的程序語言,流程的設計上有一定的規定,而不能用 BASIC 的概念來亂跳到別的部分中。
PHP 的語法沒有像 C 語言的 main(){} 部分,其實整個 PHP 主頁面 (就是瀏覽器輸入的 URL) 就是 main(){} 部分,這點和其它的解析程序,如 Prel、Python、Shell Script 倒是很像。

在流程的部分分隔符號上,都是使用 { 當作部分的開頭,用 } 當作結尾,和 C 語言相同。不過 C 可以定義 begin 當開頭、end 當結尾 (像 Pascal),而 PHP 中不能做這種特殊的定義。

而 PHP 語法中在每條指令結束時都要加上分號 ;,但是在部分結尾符號 } 後面不用加上分號結束。
除了上面的流程控制指令之外,尚有 break 及 continue 兩個流程控制指令。
break 用來跳出目前執行的循環,如下例

<?php
$i = 0;
while ($i < 10) {
if ($arr[$i] == "stop") {
break;
}
$i++;
}
?>




--------------------------------------------------------------------------------

continue 立即停止目前執行循環,並回到循環的條件判斷處,見下例

<?php
while (list($key,$value) = each($arr)) {
if ($key % 2) { // 略過偶數
continue;
}
do_something_odd ($value);
}
?>


而 BASIC 常用的 goto 在 C 及 Borland Pascal 中或許\可以使用。但在 PHP 中,由於它的 Web Server Script 特性以及結構化的組成,並不能在 PHP 中使用 goto 循環指令?




歡迎光臨 中央論壇 - CENTER BBS (https://mail.centerbbs.com/) Powered by Discuz! X3