標題:
3-1-2 if-else敘述
[打印本頁]
作者:
小誌
時間:
2011-4-18 17:55
標題:
3-1-2 if-else敘述
3-1-2 if-else敘述
if-else敘述的意思是說:「如果…就做…否則就….。」,也就是當比較式成立時做某事,比較式不成立時就做另外一件事。
執行單行敘述的if-else格式如下:
if-else判斷敘述格式
if (條件式)
程式敘述;
else
程式敘述;
複製代碼
例如分數大於等於60分則顯示「及格」,反之則顯示「不及格」:
<?
if ($_POST["score"]>=60)
echo "您的分數". $_POST["score"] ."分,及格";
else
echo "您的分數". $_POST["score"] ."分,不及格";
?>
複製代碼
注意
在if(條件式)與else保留字之後不可以有『;』分號,分號是在if(條件式)與else保留字後的單行敘述結尾才能使用的。
作者:
小誌
時間:
2011-4-18 17:56
if-else敘述除了上述說明的正規用法外,也可以使用『條件運算元』的方式來做:
條件運算元判斷敘述格式
(條件式)? 程式敘述A : 程式敘述B;
複製代碼
它的意義是:如果『條件式』成立(評估值為True),就執行「?」之後的『程式敘述A』,不然的話就跳過『程式敘述A』,執行「:」之後的『程式敘述B』。
例如
:
<?
$score=60;
($score>=60)? $ans="及格" : $ans="不及格";
echo $ans;
?>
複製代碼
等同
<?
$score=60;
$ans=($score>=60)? "及格" : "不及格";
echo $ans;
?>
複製代碼
上例若改為if-else敘述則為:
<?
$score=60;
if($score>=60)
$ans="及格";
else
$ans="不及格";
echo $ans;
?>
複製代碼
作者:
小誌
時間:
2011-4-18 17:57
如果在條件式後面(條件式成立時)要撰寫多個敘述,同時,在Else後面(條件式不成立時)也要撰寫多個敘述時,我們可以使用結構化的寫法,就是使用「{ }」把這些敘述(敘述區塊)包括在其中,執行敘述區塊的if-else格式如下:
if-else判斷敘述格式
if (條件式)
{
敘述區塊(條件式成立時);
}
else
{
敘述區塊(條件式不成立時);
}
複製代碼
[attach]5467[/attach]
圖3-3 If-Then-Else敘述流程圖。
作者:
小誌
時間:
2011-4-18 17:58
實例說明
:(範例光碟ex03_03.php)
我們的網站在下午六點鐘到午夜12點鐘不開放,如果瀏覽者在這段時間進入網站,則在網頁中顯示「明日請早!」,瀏覽者在這段時間之外進入網站,則在網頁中顯示「歡迎光臨!」。
<?
if(date("H")>=18)
{
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
}
else
{
echo ("歡迎光臨!<br>");
echo date("G 時 i 分 s 秒 A");
}
?>
複製代碼
注意
在{或}後不可以有『;』分號,但是敘述區塊中({…})的每一個敘述都要加上『;』分號。
作者:
小誌
時間:
2011-4-18 17:59
同樣的,if-else多敘述(敘述區塊)判斷式亦可不用「{ }」來包括敘述,改用「endif;」來做,格式如下:
if-else判斷敘述格式
if (條件式):
敘述區塊(條件式成立時);
else:
敘述區塊(條件式不成立時);
endif;
複製代碼
例如:(範例光碟ex03_03a.php)
<?
if(date("H")>=18):
echo ("明天請早!<br>");
echo date("G 時 i 分 s 秒 A");
else:
echo ("歡迎光臨!<br>");
echo date("G 時 i 分 s 秒 A");
endif;
?>
複製代碼
注意
在if(條件式)、else與endif;的作法中,在if(條件式)與else之後必須加上「:」冒號代表敘述區段的起始,而敘述區塊中的每個單行敘述結尾同樣必須加上「;」。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)