我在switch语句中只有一个案例
switch ($coreName) {
case 'stock':
$result['website'] = ($result['website']) ? $websiteStatus[$result['website']] : "";
break;
}
我的问题是这是一个好习惯,还是我会用if语句?任何性能差异或其他什么?
答案 0 :(得分:1)
从技术角度来看,没有任何事情可以反对这一点。
所以要回答的问题是:为什么你实现了switch
语句而不是if
条件?
我说默认应该是"正常" if
条件,除非有特殊原因指向switch
。两个主要原因可能是:
特别是第一种情况应该在这里考虑。如果可能需要扩展处理,那么立即使用switch
是一种很好的做法。
答案 1 :(得分:1)
如果您转到phpBench.com并向下滚动查看if
和case
之间的结果,您会发现使用if
语句的速度稍快一点,但是结果并没有太大的不同。 (以下截图)
您也可以使用if
,因为它更容易阅读,更少的代码,并且仍然更快(即使只是很小的数量)。
if($corename === "stock") {
$result['website'] = ($result['website']) ? $websiteStatus[$result['website']] : "";
}
只有在比较多个值而不是一个值时才应使用 case
。这与使用elseif
相同。使用if
最适合此类。
答案 2 :(得分:0)
为什么不简单地做一个简单的if,像这样:
if($coreName == 'stock')
{
$result['website'] = ($result['website']) ? $websiteStatus[$result['website']] : "";
}
希望这有帮助。
答案 3 :(得分:0)
使用if else仅限于:
1. you have only 2 or more conditions OR You have multiple conditions in single if else.
时使用开关
1. You have to compare `ONE` variable value against multiple.
在你的情况下,如果其他更好