Php Switch与if语句
我进退两难。哪一种最好使用,为什么。。转换还是如果Php Switch与if语句,php,if-statement,conditional,switch-statement,Php,If Statement,Conditional,Switch Statement,我进退两难。哪一种最好使用,为什么。。转换还是如果 switch ($x) { case 1: //mysql query //echo something break; case 2: //mysql query //echo something break; } 它们有不同的含义 第一个示例将在满足条件时停止 第二个将测试$x两次 您可能希望将第二个if设置为else if。这意味着一旦一个条件的计算结果为true,就会跳过该块 但如果你想知道哪一个最快,你
switch ($x)
{
case 1:
//mysql query
//echo something
break;
case 2:
//mysql query
//echo something
break;
}
它们有不同的含义 第一个示例将在满足条件时停止 第二个将测试
$x
两次
您可能希望将第二个if
设置为else if
。这意味着一旦一个条件的计算结果为true,就会跳过该块
但如果你想知道哪一个最快,你应该想想哪一个最有效地传达了我想要做的事情。它们都很可能最终成为目标体系结构中的条件跳转
过早优化。。。(你知道其余的:P)
首先,你拥有的不一样
switch(value)
case condition1:
break;
case condition2:
break
if (condition1) {
}
if (condition2) {
}
这些是同义词
switch(value)
case condition1:
break;
case condition2:
break
if (condition1) {
}
else if (condition2) {
}
第二,如果你说的是我的第二个例子,两者是同义词。然后使用
switch
语句可以减轻编写大量if..else if
语句的痛苦
在我看来,开关还可以提供更多的可读性。但即使如此,有时使用
if…else
也会更好,尤其是在复杂逻辑中。当有两个以上的选择时,开关会更好。它主要是为了代码的可读性和可维护性,而不是性能
但是,正如其他人所指出的,您的示例并不相同。如果您有一个变量,一组可能的值,并且您希望对每个值执行不同的操作,这就是switch case的用途 Switch语句更明显地表明,您只是在确定变量具有哪些允许值
如果有更复杂的条件或多个变量要考虑,使用if语句。
切换语句将更快,因为它只检查值一次。 < P>两种语句都是通过比较某类参数,然后显示结果的决策语句。switch语句无疑比if语句快,但是if语句比switch语句有更大的优势,即当您必须使用诸如(,=,!=,=)之类的逻辑运算时。每当您遇到逻辑运算时,您都会被switch语句打断,但不要担心,还有另一种方法可以用来达到您的目标,即if语句、if-else语句或if-else-if语句。我建议您在大多数情况下使用if-else而不是switch-one。可能的重复(该问题中的语言是C#但switch/case,如果语句在PHP中的行为通常相同),您的观点很好,特别是在我的广泛示例中!因此,我认为你的答案是正确的:)+1,因为如果。。。否则就更好了。。。我发现自己总是使用带有布尔的if语句,因为它提供了更简单的流程。switch(value)
case condition1:
break;
case condition2:
break
if (condition1) {
}
else if (condition2) {
}