考虑到脚本的性能,我问这个问题。知道 PHP 数组的性能不是很好,我正在徘徊在这种情况下哪种方式最好。
假设如果 $x
等于 a or b or c or d 我们需要 action_a()
来执行,如果不等于 action_b()
执行..
我们可以使用 ||
运算符实现它,如下所示;
if($x == 'a' || $x == 'b' || $x == 'c' || $x == 'd'){
action_a();
}else{
action_b();
}
或者我们可以使用 in_array()
实现它,如下所示;
if(in_array($x,array('a','b','c','d'))){
action_a();
}else{
action_b();
}
我想知道的是这两个选项中哪一个会表现良好:
当
$x
的可能值数量很高时?当
$x
的可能值数量很少时?
最佳答案
但总的来说,选择哪个变体几乎不应该取决于性能。尤其是在您的输入数据非常非常小(例如 <10)的超微不足道的情况下。
这个最重要的标准是始终可读性。
只有在存在不可否认的性能问题时才开始优化代码。
关于php - 在 in_array() 和 || 之外使用什么更好运算符(operator)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14568165/