phpswitchif
『壹』 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 switch 能不能設定范圍啊
你這樣的情況不應該使用switch,因為switch是針對數值可以枚舉的情況,而你的要求顯然不可能枚舉所有<0的值,應該使用if,語句示例:
if ($num<0) {...}
else if ($num<50) {...}
else if ($num<100) {...}
else {...}
邏輯非常清晰,語句非常簡單。
『叄』 php中switch與ifelse的效率區別及什麼時候用哪個合適
得看情況,如果在條件匹配少的情況下,可以使用if...else...但是如果匹配條件多的情況下可以使用可以使用switch。
『肆』 php語言編寫switch判斷成績代碼。分別輸出優秀、良好、中等、及格和不及格。
<?php
switch ($score=43) // 這里不能放表達式的
{
case "$score>=90&&$score<=100": // 這里好像也不能這樣
echo"優秀<br>";
break;
case "$score>=80&&$score<90": // 這里好像也不能這樣
echo"良好<br>";
break;
case "$score>=70&&$score<80": // 這里好像也不能這樣
echo"中等<br>";
break;
case "$score>=60&&$score<70": // 這里好像也不能這樣
echo"及格<br>";
break;
case "$score>=0&&$score<60": // 這里好像也不能這樣
echo"不及格<br>";
break;
default:
echo"成績輸入錯誤<br>";
break;
}
// 我覺得判斷成績的,最好用 if 語句,因為 switch 是要具體捕捉某一個值的,不是很適用於大范圍的判斷
// 還有的是,從輸入框輸入的是一個字元串,雖然你輸入的是數字,但它也會當作字元串來處理
// 有說得不對的,請見諒,,,,
?>
『伍』 php switch case 求具體詳解,case裡面能加if語句
if 語句只有兩種判斷
你用CASE語句還要IF語句干什麼 多此一舉
萬一要用到可以考慮 三元。。。
『陸』 php中怎麼選擇使用if else while for switch語句
switch 用起來比較方法, 語句簡單, 但它只能判斷一個值
舉例說, 你要看用戶輸入的$_GET['action'] 的值時來作出不同反應時, switch 就很方便
if 語句比較繁復, 但它可判斷的東西多, 而且if 內還可以有其他if 或switch
『柒』 設計php程序,比較if與switch的運行效率
<?PHP
$num = rand(1,5);
echo '$num = '.$num.'<br />';//顯示隨機數$num的值
$start = microtime(true);//獲取執行if之前的時間
if($num == 1)
{}else if($num == 2)
{}else if($num == 3)
{}else if($num == 4)
{}else{}
$end = microtime(true);//獲取執行if之後的時間
echo 'if : '.($end-$start).'<br />';//顯示執行if所用時間
$start = microtime(true);//獲取執行switch之前的時間
switch($num)
{
case 1:break;
case 2:break;
case 3:break;
case 4:break;
case 5:break;
}
$end = microtime(true);//獲取執行switch之後的時間
echo 'switch: '.($end-$start).'<br />';//顯示執行switch所用時間
?>
『捌』 PHP中switch對於0的判斷不準
$speed = 0 ;
if ($speed >= 0){
echo 'true';
}
肯定返回true啊,大於等於0,是什麼意思?大於跟等於,都可以為真。
case if 的條件,都是一樣的。這沒有錯誤。樓主再琢磨琢磨……同理,<=0,也是一個道理
『玖』 php switch中能加if語句嗎
好像不能這樣弄!
但你可以在switch之前判斷一下
if(check($str)){
$str='number';
}
switch($str)
{
case"what":
echo"what";
break;
case"how":
echo"how";
break;
case"number":
echo'hi';
break;
/*第三種情況是,若字元串前10個字元為數字,則輸出"hi",應該怎麼寫?假設判斷函數為check($str)*/
『拾』 php的switch語句中函數調用的問題,函數總是調用不成功,代碼如下
switch($do){
case"islogin":
$user["islogin"]=$_SESSION['login'];
echojson_encode($user);
break;
case"exit":
$_SESSION['login']=0;
break;
case"login":
login();
break;
}
是不是函數名和變數離得太開了,你有用模板嗎,<<<SQL感覺怪怪的