Cyb*_*kie 19 php conditional if-statement switch-statement
我处于两难境地.哪个最好用,为什么..切换或如果?
switch ($x)
{
case 1:
//mysql query
//echo something
break;
case 2:
//mysql query
//echo something
break;
}
Run Code Online (Sandbox Code Playgroud)
...
if ($x == 1) {
//mysql query
//echo something
}
if ($x == 2) {
//mysql query
//echo something
}
Run Code Online (Sandbox Code Playgroud)
ale*_*lex 30
它们有不同的含义.
第一个示例将在满足条件时停止.
第二个将测试$x
两次.
你可能想要成为第二if
个else if
.这意味着只要一个条件的计算结果为true,就会跳过该块.
但如果你想知道哪一个最快,你应该考虑哪一个最有效地传达我想要做的事情.它们最有可能最终成为目标架构中的条件跳转.
过早优化......(你知道其余的:P)
首先你所拥有的是不一样的
switch(value)
case condition1:
break;
case condition2:
break
if (condition1) {
}
if (condition2) {
}
Run Code Online (Sandbox Code Playgroud)
这些都是同义词
switch(value)
case condition1:
break;
case condition2:
break
if (condition1) {
}
else if (condition2) {
}
Run Code Online (Sandbox Code Playgroud)
第二,如果你在谈论我的第二个例子,其中两个是同义词.然后使用switch
语句可以减轻编写大量if ..else if
语句的痛苦....
在我的观点中,开关也可以提供更多的可读性.但即便如此,有时候使用if...else
更简单,特别是对于复杂的逻辑.