寫過程式的一定對if、else不陌生,幾乎所有程式語言都可以看的到它的蹤影。
這個是一個簡易的系統流程圖,也說明了if、else的運作模式。
if (condition(條件式)) code to be executed if condition is true;
當條件式成真(true),即會執行。
Example:
<html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; ?> </body> </html> |
Date()是另一個PHP的內建函數,往後會提到,這段程式主要是先利用Date()取得系統時間是星期幾,如果是星期五(Fri)則輸出,”Have a nice weekend!”這段文字。
另一個重點是if搭else一塊使用。
if (condition(條件式))
code to be executed if condition is true;
else
code to be executed if condition is false;
當條件式不成利時,如果是用第一個寫法沒有加入else的話,那在if區塊裡的程式碼會被跳過而不執行,加上else,則是在不成立的狀況,執行else區塊中的程式碼。
Example:
<html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; else echo "Have a nice day!"; ?> </body> </html> |
當然,區塊中的程式碼可以不只有一行
Example:
<body> <?php $d=date("D"); if ($d=="Fri") { echo "Hello!<br />"; echo "Have a nice weekend!"; echo "See you on Monday!"; } ?> </body> </html> |
另外,還有一個用法
if...elseif....else
if (condition(條件式))
code to be executed if condition is true;
elseif (condition(條件式))
code to be executed if condition is true;
else
code to be executed if condition is false;
這個寫法,會讓判斷式最多經過兩次判斷,如果都不成真,才會執行最後else區塊中的程式碼。
Example:
<html> <body> <?php $d=date("D"); if ($d=="Fri") echo "Have a nice weekend!"; elseif ($d=="Sun") echo "Have a nice Sunday!"; else echo "Have a nice day!"; ?> </body> </html> |
不過,通常elseif不會使用太多,不然整個程式碼會被搞的又臭又長,所以PHP中,還有另一種判斷句switch,在後面我們會介紹到。
在介紹了if、else的用法之後,有一點要特別提到,關於判斷句的寫法,上面的例子除了包含多行code的if區塊,都沒有加上大括號,但我建議,把加上大括號養成習慣,即使你的程式碼只有一行,這樣一來,可以放幫你有效的區隔跟閱讀原始碼。
參考資料:
PHP與MySQL網頁設計實務/網奕出版/吳權威 編著
沒有留言:
張貼留言