切换与 if 语句
我进退两难了.哪个最好用,为什么.. switch 或 if?
I'm in a dilemma. Which is best to use and why.. switch or if?
switch ($x)
{
case 1:
//mysql query
//echo something
break;
case 2:
//mysql query
//echo something
break;
}
...
if ($x == 1) {
//mysql query
//echo something
}
if ($x == 2) {
//mysql query
//echo something
}
推荐答案
它们有不同的含义.
第一个例子会在条件满足时停止.
The first example will stop when the condition is met.
第二个将测试 $x
两次.
The second will test $x
twice.
您可能希望将第二个 if
设为 else if
.这意味着一旦一个条件评估为 true,该块将被跳过.
You may want to make your second if
an else if
. This will mean the block will be skipped as soon as one condition evaluates to true.
但如果您想知道哪一个最快,您应该考虑哪个最有效地传达了我想要做的事情.它们都很可能最终成为目标架构中的条件跳转.
But if you are wondering which one is fastest, you should instead think which one most effectively communicates what I want to do. They will both most probably end up as conditional jumps in the target architecture.
过早的优化......(你知道其余的:P)
Premature optimisation... (you know the rest :P )
相关文章