第十一課:條件控制語句
你一定遇到過這樣的情況:某個論壇上有人提供了一個很有用的軟件,你迫不及待的點擊鏈接準備下載,結果出現的頁面是“您還不是本站註冊會員或未登錄,不能下載本站資源。”,你花了幾分鐘註冊後再點擊鏈接,嘿,真的能下載了。是的,對於不同的用戶網站會返回不同的結果,這就是條件控制。
那麼程序到底是怎麼控制的呢?看下面的例子11-1:
<?php
$level = 1; //某個會員的級別
//如果級別小於2,則
if ( $level < 2 ){
echo '對不起,您還不是本站註冊會員或未登錄或會員級別不夠,不能下載本站資源。';
}
//如果級別大於或等於2,則
if ( $level > =2 ){
echo '請點擊下載資源http://www.phpNet.cn';
}
?>
$level = 1; //某個會員的級別
//如果級別小於2,則
if ( $level < 2 ){
echo '對不起,您還不是本站註冊會員或未登錄或會員級別不夠,不能下載本站資源。';
}
//如果級別大於或等於2,則
if ( $level > =2 ){
echo '請點擊下載資源http://www.phpNet.cn';
}
?>
if 語句
if ( expr )
statement
上面的代碼將判斷括號中表達式的值是否爲真,如果爲真,PHP會執行該語句;如果爲假,那麼PHP將會跳過該語句。
if...else 語句
當條件爲真時執行if後面的語句,當條件爲假時執行else後面的語句。比如上面的代碼可以這樣寫11-2:
<?php
$level = 1; //某個會員的級別
//如果級別小於2,則
if ( $level < 2 ){
echo '對不起,您還不是本站註冊會員或未登錄或會員級別不夠,不能下載本站資源。';
}else{
echo '請點擊下載資源http://www.phpNet.cn';
}
?>
$level = 1; //某個會員的級別
//如果級別小於2,則
if ( $level < 2 ){
echo '對不起,您還不是本站註冊會員或未登錄或會員級別不夠,不能下載本站資源。';
}else{
echo '請點擊下載資源http://www.phpNet.cn';
}
?>
正如名字所暗示的,elseif是if和else的組合,它擴展了對if語句假的再處理,將已經爲假的條件再進行一次判斷,並根據判斷的結果進行處理。例如11-3:
<?php
$a = 5;
$b = 3;
if ( $a > $b ) {
echo 'a比b大。';
}elseif( $a < $b ){
echo 'a比b小。';
}else{
echo 'a等於b。';
}
?>
$a = 5;
$b = 3;
if ( $a > $b ) {
echo 'a比b大。';
}elseif( $a < $b ){
echo 'a比b小。';
}else{
echo 'a等於b。';
}
?>
替代語法:
在上面的例子中,我們把符合條件的要執行的語句都放在花括號內({ }),如果你不習慣這樣的寫法,可以採用替代語法來寫:把花括號換成冒號,在最後用endif結束。例如11-3的代碼可以這樣來寫11-4:
<?php
$a = 5;
$b = 3;
if ( $a > $b ) : echo 'a比b大。';
elseif( $a < $b ): echo 'a比b小。';
else: echo 'a等於b。';
endif;
?>
$a = 5;
$b = 3;
if ( $a > $b ) : echo 'a比b大。';
elseif( $a < $b ): echo 'a比b小。';
else: echo 'a等於b。';
endif;
?>
在我們網站內有一個會員,他的用戶名是:phpNet,密碼是:aaa999。現在會員登錄時輸入的用戶名我們賦值給變量 $userName,輸入的密碼我們賦值給變量 $password,如果輸入與上面的用戶名,密碼相符則顯示“歡迎你回來 phpNet”,如果不相符則顯示“用戶名或密碼錯誤,請重新輸入。”字樣。你知道這段代碼怎麼寫嗎?
補充一點:
比較運算符比較運算符,如同它們名稱所暗示的,允許你對兩個值進行比較。
表: 比較運算符
$a == $b | 等於 | TRUE,如果 $a 等於 $b。 |
$a === $b | 全等 | TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 only) |
$a != $b | 不等 | TRUE,如果 $a 不等於 $b。 |
$a <> $b | 不等 | TRUE,如果 $a 不等於 $b。 |
$a !== $b | 非全等 | TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 only) |
$a < $b | 小與 | TRUE,如果 $a 嚴格小於 $b。 |
$a > $b | 大於 | TRUE,如果 $a 嚴格 $b。 |
$a <= $b | 小於等於 | TRUE,如果 $a 小於或者等於 $b。 |
$a >= $b | 大於等於 | TRUE,如果 $a 大於或者等於 $b。 |