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