if語句是指程式語言(包括c語言、C#、VB、java、php、彙編語言等)中用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。
if語句概述
if語句是指程式語言(包括c語言、C++、C#、java、php、VB、彙編語言等)中用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。if的返回值為真或假,可以用bool型變量進行存儲,佔用一字節。
條件語句作用
以編寫腳本為例,在編寫腳本中,條件語句是非常有用的。與其按照腳本內容執行每一行代碼,不如只有當特定條件滿足時,才執行腳本中的某些代碼。甚至可將單個條件擴展為條件語句的集合,用於決定某些代碼是否執行。
使用條件語句,可以告訴JavaScript做到像下面的事情:
·如果變量youmame等於Jonh,那麼將「hello to John」輸出到頁面。否則輸出「hello to Unknow Surfer」並將內容加粗。
·如果變量mycar等於Corvette或Mustang,那麼向瀏覽器發出警告「Cool car」。如果變量mycar等於Covette,並且變量yourname等於Marty,那麼向瀏覽器發出警告「Marty is cool and drives a cool car」。否則,向瀏覽者發出警告「Unknown Surfer drives a car of some sort」。
我並不駕駛Corvette或者Mustang,所以請將我從很時髦的人群中排除。而這些例子顯示了如何在執行操作之前通過檢查某些條件,達到更多的目的。這些類型的語句在腳本中稱為控制流。
if語句一般形式
if語句的一般形式如下:
if(表達式)語句1
[else語句2]
if語句中的「表達式」可以是關係表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關係表達式。所謂關係表達式就是兩個數值進行比較的式子。
空懸else
問題描述
if-else 語句引入了一種二義性問題稱為空懸else (dangling-else) 問題,這種問題出現在當if 子句多於else 子句時。問題是這些else 子句分別和哪一個if 子句匹配。例如:
if($str <= $arr[1])
if($str == $arr[1]) $num++;
else{
$str = $arr[1];
$num = 1;
}
程序的縮進形式表明程式設計師相信else 應該與最外面的if 子句匹配,然而在中空懸else 二義性由以下規定來解決:else 子句與最後出現的未被匹配的if 子句相匹配
解決方式
要想改變這種預設的空懸else 匹配效果一種方法是把後來出現的if 放在複合語句中:
if($str <= $arr[1]){
if($str == $arr[1]) $num++;
}else{
$str = $arr[1];
$num = 1;
}
編碼風格建議
總是使用複合語句括號以避免在以後修改代碼時可能出現的混淆或錯誤。
比較運算符
equ - 等於
neq - 不等於
lss - 小於
leq - 小於或等於
gtr - 大於
geq - 大於或等於
文章收集與網絡,辛苦收集轉載請備註出處一隻大臉貓博客!
PHP丨PHP基礎知識之流程控制for循環「理論篇」
PHP丨PHP基礎知識之流程控制WHILE循環「理論篇」