❶ php如何運用if else分別執行三條代碼並輸出各自的結果
PHP中既有else if又有elseif,詳細用法如下:
elseif,和此名稱暗示的一樣,是 if 和 else 的組合。和 else 一樣,它延伸了 if 語句,可以在原來的 if 表達式值為 FALSE 時執行不同語句。但是和 else 不一樣的是,它僅在 elseif 的條件表達式值為 TRUE 時執行語句。
例如以下代碼將根據條件分別顯示
a is bigger than b,a equal to b 或者a is smaller than b:
if($a>$b){
echo"aisbiggerthanb";
}elseif($a==$b){
echo"aisequaltob";
}else{
echo"aissmallerthanb";
}
在同一個 if 語句中可以有多個 elseif 部分,其中第一個表達式值為 TRUE(如果有的話)的 elseif 部分將會執行。在 PHP 中,也可以寫成"else if"(兩個單詞),它和"elseif"(一個單詞)的行為完全一樣。句法分析的含義有少許區別,但是底線是兩者會產生完全一樣的行為。
elseif 的語句僅在之前的 if 和所有之前 elseif 的表達式值為 FALSE,並且當前的 elseif 表達式值為 TRUE 時執行。
必須要注意的是 elseif 與 else if只有在類似上例中使用花括弧的情況下才認為是完全相同。如果用冒號來定義 if/elseif 條件,那就不能用兩個單詞的else if,否則 PHP 會產生解析錯誤。
舉例:
/*不正確的使用方法:*/
if($a>$b):
echo$a."isgreaterthan".$b;
elseif($a==$b)://將無法編譯
echo"Theabovelinecausesaparseerror.";
endif;
/*正確的使用方法:*/
if($a>$b):
echo$a."isgreaterthan".$b;
elseif($a==$b)://注意使用了一個單詞的elseif
echo$a."equals".$b;
else:
echo$a."isneithergreaterthanorequalto".$b;
endif;
❷ PHP代碼分別使用if多分支結構與switch..case結構寫下面的代碼
<?php
$score=90;
$score=floor($score/10);
if(in_array($score,array(9,10))){
echo"優";
}elseif(in_array($score,array(8))){
echo"良";
}elseif(in_array($score,array(7))){
echo"中";
}elseif(in_array($score,array(6))){
echo"及格";
}else{
echo"不及格";
}
switch($score){
case10:
case9:
echo"優";
break;
case8:
echo"良";
break;
case7:
echo"中";
break;
case6:
echo"及格";
break;
default:
echo"不及格";
break;
}
?>
❸ php如何把多個if判斷代碼簡寫的更精煉
<?php
$controller_name='index';
$action='index';
if(isset($_GET['controller']))
$controller_name=$_GET['controller'];
if(isset($_GET['action']))
$action=$_GET['action'];
//或者
$controller_name=$_GET['controller']?$_GET['controller']:"index";
$action=$_GET['action']?$_GET['action']:"index";
//注釋$action=$_GET['action']?$_GET['action']:"index";意思是:如果$_GET['action']不為空或者isset($_GET['action'])的話,那麼$action的值就是問號?後面第一個值,如果不成立的話,就是冒號後面的值index。
通常格式:
$變數=(判斷表達式true或者false)?"表達式為true時的值":"表達式為false時的值"
?>