Re: [請益]請問switch/case問題

看板PHP作者 (愛睡喵)時間15年前 (2010/11/20 02:22), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串5/7 (看更多)
※ 引述《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)

11/20 10:13, , 1F

11/20 10:13, , 2F
我將四個人寫的東西做效能評估的結果就是上面的樣子。
11/20 10:13, 2F

11/20 13:28, , 3F
沒想到最快的居然是大家都不熟悉的那個switch case用法~
11/20 13:28, 3F
※ 編輯: beatada 來自: 114.39.171.13 (11/20 13:50) ※ 編輯: beatada 來自: 114.39.171.13 (11/20 13:55)

11/20 13:58, , 4F
所以速度上由快至慢是 switch > ifelse > function call
11/20 13:58, 4F

11/20 13:58, , 5F
最後才是 foreach
11/20 13:58, 5F
※ 編輯: beatada 來自: 114.39.171.13 (11/20 14:02)
文章代碼(AID): #1Cvi1ERb (PHP)
文章代碼(AID): #1Cvi1ERb (PHP)