作者beatada (愛睡喵)
看板PHP
標題Re: [請益]請問switch/case問題
時間Sat Nov 20 02:21:59 2010
※ 引述《jcinlo (印羅)》之銘言:
那這個方法呢?
if ( ! is_numeric($score) || $score > 100 || $score < 0)
{
echo '您打錯了';
return;
}
/**
* 上面那段如果 $score 超出限定值不警告,自動轉換的話
* 可以這樣寫
if ( ! is_numeric($score))
{
echo '您打錯了';
return;
}
$score = min(max($score, 0), 100);
*/
$conditions = array(
85 => '超級優秀',
60 => '還好啦',
0 => '要加油囉',
);
foreach ($conditions as $cond => $message)
{
if ($score >= $cond)
{
echo $message;
break;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.187.77
※ 編輯: beatada 來自: 114.39.187.77 (11/20 02:23)
2F:→ tkdmaf:我將四個人寫的東西做效能評估的結果就是上面的樣子。 11/20 10:13
3F:→ Kelunyang:沒想到最快的居然是大家都不熟悉的那個switch case用法~ 11/20 13:28
※ 編輯: beatada 來自: 114.39.171.13 (11/20 13:50)
※ 編輯: beatada 來自: 114.39.171.13 (11/20 13:55)
4F:→ beatada:所以速度上由快至慢是 switch > ifelse > function call 11/20 13:58
5F:→ beatada:最後才是 foreach 11/20 13:58
※ 編輯: beatada 來自: 114.39.171.13 (11/20 14:02)