作者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)