麻辣家族討論版版's Archiver

小誌 發表於 2011-4-18 17:48

3-1-1 If 敘述

[color=DarkRed][size=4][b]3-1-1    If 敘述[/b][/size][/color]
If是我們最常使用的判斷敘述,它的通用格式是:
if判斷敘述格式[code]if  (條件式)  
單行敘述;[/code]它的意義是:如果『條件式』成立(評估值為True),就執行『條件式』之後的『單行敘述』,不然的話就跳過『條件式』之後的『單行敘述』,繼續執行下面的程式敘述。

[color=Magenta]實例說明[/color]:(範例光碟ex03_01.php)
我們的網站在下午六點鐘到午夜12點鐘不開放,如果瀏覽者在這段時間進入網站,則在網頁中顯示「明日請早!」。[code]<?
if (date(“H”)>18)
echo ("明天請早!");
?>[/code]如果在『條件式』成立(評估值為True)後要撰寫多個敘述時(條件成立後要做很多事),我們可以使用結構化的寫法,就是使用「{ }」把這些敘述(敘述區塊)包括在其中,其格式如下:
if判斷敘述區塊格式[code]if (條件式)  
{
   程式敘述區塊;
}[/code]它的意義是:如果『條件式』成立(評估值為True),就執行「{」之後的『程式敘述區塊』,不然的話就跳過「{」之後的『程式敘述區塊』,從「}」之後繼續執行下面的程式敘述。
介於「{ }」之間的所有敘述我們就稱它為『敘述區塊』,而在撰寫敘述區塊的時候,請將敘述區塊退後幾格,這樣將使程式更容易閱讀。

[attach]5465[/attach]
圖3-1   if 敘述流程圖。

小誌 發表於 2011-4-18 17:50

[color=Magenta]實例說明[/color]:(範例光碟ex03_02.php)
我們的網站在下午六點鐘到午夜12點鐘不開放,如果瀏覽者在這段時間進入網站,則在網頁中顯示「明日請早!」與瀏覽者的進入時間。[code]<?
if(date("H")>=18)
{
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
}
?>[/code]如果在『條件式』成立(評估值為True)後要撰寫多個敘述時(條件成立後要做很多事),除了可以使用「{ }」把這些敘述(敘述區塊)包括在其中外,亦可放棄使用「{ }」來包括敘述,改用「endif;」來做,格式如下:
if判斷敘述區塊格式[code]if (條件式) :

   程式敘述區塊;

endif;[/code]它的意義是:如果『條件式』成立(評估值為True),就執行「:」之後的『程式敘述區塊』,不然的話就跳過「:」之後的『程式敘述區塊』,從「endif;」之後繼續執行下面的程式敘述。
[color=Magenta]例如[/color]:(範例光碟ex03_02a.php)[code]<?
if(date("H")>=18):
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
endif;
?>[/code][color=Red] 注意[/color]
在if(條件式)與endif;的作法中,在if(條件式)之後必須加上「:」冒號代表敘述區段的起始,而敘述區塊中的每個單行敘述結尾同樣必須加上「;」。

小誌 發表於 2011-4-18 17:53

[color=Magenta]實做練習1[/color]:
在程式網頁中設計一個表單,讓使用者輸入成績資料,並撰寫一程式接收來自表單的資料,若分數大於等於60分則在網頁中顯示「分數」與『及格』,表單設計如下圖所示。
[attach]5466[/attach]
圖3-2   實做練習test03_01.php表單輸入網頁。

test03_01.php[code]<html>
<head>
<title>test03_01</title>
</head>
<body bgcolor="#ffffff">
<form method="post" action="test03_01_show.php">
<table border="1">
<tr>
<td>請輸入成績</td>
<td><input type="text" size="15" name="score"></td>
</tr>
<tr>   
<td colspan=2><input type=submit value="評等"></td>
</tr>
</tr>
</table>
</form>
</body>   
</html>[/code]如果表單送交的分數大於等於60分則必須顯示「及格」,所以我們單純的使用if敘述即可做到!:
test03_01_show.php[code]<?
if ($_POST["score"]>=60)
  echo "您的分數". $_POST["score"] ."分,及格";
?>[/code][color=Red]提示!![/color]
原始碼中的『>=』符號為一個關係運算子『大於』,它用來比較變數score和數值60的大小,如果變數score大於60則回傳True值,而在判斷式之後的敘述將會被執行,反之,在判斷式之後的敘述就不會被執行。

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供