麻辣家族討論版版's Archiver

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

3-1-2 if-else敘述

[color=DarkRed][size=4][b]3-1-2   if-else敘述[/b][/size][/color]
if-else敘述的意思是說:「如果…就做…否則就….。」,也就是當比較式成立時做某事,比較式不成立時就做另外一件事。
執行單行敘述的if-else格式如下:
if-else判斷敘述格式[code]if  (條件式)
     程式敘述;
else
     程式敘述;[/code]例如分數大於等於60分則顯示「及格」,反之則顯示「不及格」:[code]<?
if ($_POST["score"]>=60)
  echo "您的分數". $_POST["score"] ."分,及格";
else
  echo "您的分數". $_POST["score"] ."分,不及格";
?>[/code][color=Red]注意[/color]
在if(條件式)與else保留字之後不可以有『;』分號,分號是在if(條件式)與else保留字後的單行敘述結尾才能使用的。

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

if-else敘述除了上述說明的正規用法外,也可以使用『條件運算元』的方式來做:
條件運算元判斷敘述格式[code](條件式)? 程式敘述A : 程式敘述B;[/code]它的意義是:如果『條件式』成立(評估值為True),就執行「?」之後的『程式敘述A』,不然的話就跳過『程式敘述A』,執行「:」之後的『程式敘述B』。
[color=Magenta]例如[/color]:[code]<?
$score=60;
($score>=60)? $ans="及格" : $ans="不及格";
echo $ans;
?>[/code]等同[code]<?
$score=60;
$ans=($score>=60)? "及格" : "不及格";
echo $ans;
?>[/code]上例若改為if-else敘述則為:[code]<?
$score=60;
if($score>=60)
$ans="及格";
else
$ans="不及格";
echo $ans;
?>[/code]

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

如果在條件式後面(條件式成立時)要撰寫多個敘述,同時,在Else後面(條件式不成立時)也要撰寫多個敘述時,我們可以使用結構化的寫法,就是使用「{ }」把這些敘述(敘述區塊)包括在其中,執行敘述區塊的if-else格式如下:
if-else判斷敘述格式[code]if  (條件式)
{
     敘述區塊(條件式成立時);
}
else
{
     敘述區塊(條件式不成立時);
}[/code][attach]5467[/attach]
圖3-3   If-Then-Else敘述流程圖。

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

[color=Magenta]實例說明[/color]:(範例光碟ex03_03.php)
我們的網站在下午六點鐘到午夜12點鐘不開放,如果瀏覽者在這段時間進入網站,則在網頁中顯示「明日請早!」,瀏覽者在這段時間之外進入網站,則在網頁中顯示「歡迎光臨!」。[code]<?
if(date("H")>=18)
{
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
}
else
{
echo ("歡迎光臨!<br>");
echo date("G 時 i 分 s 秒 A");
}
?>[/code][color=Red]注意[/color]
在{或}後不可以有『;』分號,但是敘述區塊中({…})的每一個敘述都要加上『;』分號。

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

同樣的,if-else多敘述(敘述區塊)判斷式亦可不用「{ }」來包括敘述,改用「endif;」來做,格式如下:
if-else判斷敘述格式[code]if  (條件式):
     敘述區塊(條件式成立時);
else:
     敘述區塊(條件式不成立時);
endif;[/code]例如:(範例光碟ex03_03a.php)[code]<?
if(date("H")>=18):
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
else:
echo ("歡迎光臨!<br>");
echo date("G 時 i 分 s 秒 A");
endif;
?>
      [/code][color=Red]注意[/color]
在if(條件式)、else與endif;的作法中,在if(條件式)與else之後必須加上「:」冒號代表敘述區段的起始,而敘述區塊中的每個單行敘述結尾同樣必須加上「;」。

頁: [1]

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