哪个更快更好,切换案例还是其他原因?
2022-08-30 08:22:28
哪个是更好,最快的方法:如果或切换?
if(x==1){
echo "hi";
} else if (x==2){
echo "bye";
}
switch(x){
case 1
...
break;
default;
}
哪个是更好,最快的方法:如果或切换?
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()
if(some_func() == 1) {}
elseif(some_func() == 2) {}
它将被调用两次 - 包括函数调用发生两次的可能副作用。但是,您可以随时使用,然后在您的条件下使用 - 因此您可以完全避免此问题。$res = some_func();
$res
if
您根本无法使用switch的情况是当您有更复杂的条件时 - 仅适用于常量值。switch
x == y
y