gpt4 book ai didi

php - Switch Case 或 if else if 哪个更快更好?

转载 作者:IT老高 更新时间:2023-10-28 12:01:05 33 4
gpt4 key购买 nike

哪种方法更好最快:if 或 switch?

if(x==1){
echo "hi";
} else if (x==2){
echo "bye";
}

switch(x){
case 1
...
break;
default;
}

最佳答案

你的第一个例子是完全错误的。您需要 elseif 而不仅仅是 else

如果您使用 if..elseif...switch 主要是偏好问题。性能是一样的。

但是,如果您的所有条件都是 x == value 类型且 x 在每个条件中都相同,则 switch 通常会使感觉。如果有更多,我也只会使用 switch两个条件。

switch 实际上给您带来性能优势的一种情况是,如果变量部分是函数调用:

switch(some_func()) {
case 1: ... break;
case 2: ... break;
}

然后 some_func() 只在 with 时被调用一次

if(some_func() == 1) {}
elseif(some_func() == 2) {}

它会被调用两次——包括函数调用的可能副作用发生两次。但是,您始终可以使用 $res = some_func(); 然后在 if 条件中使用 $res - 这样就可以避免这个问题一起来。

不能使用 switch 的情况是当你有更复杂的条件 - switch 只适用于 x == y y 是一个常数值。

关于php - Switch Case 或 if else if 哪个更快更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773047/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com