我是一名PHP开发人员,我一直认为微优化不值得花时间.如果你真的需要额外的性能,你可以编写你的软件,使其在架构上更快,或者你编写一个C++扩展来处理慢速任务(或者更好的是,使用HipHop编译代码).然而,今天一位工作伙伴告诉我,这有很大的不同
is_array($array)
Run Code Online (Sandbox Code Playgroud)
和
$array === (array) $array
Run Code Online (Sandbox Code Playgroud)
而且我就像"呃,这真是一个毫无意义的比较",但他不同意我的看法......他是我们公司最好的开发人员,并且负责一个每天大约有5000万次SQL查询的网站 - - 例如.所以,我在这里想知道:他可能是错的还是微优化真的值得花时间和时间?
考虑到脚本的性能,我问这个问题.知道PHP数组的表现不是很好,我在这种情况下徘徊哪种方式是最好的.
假设如果$x等于a或b或c或d我们需要action_a()执行,如果不action_b()执行..
我们可以用||运算符实现这个,如下所示;
if($x == 'a' || $x == 'b' || $x == 'c' || $x == 'd'){
action_a();
}else{
action_b();
}
Run Code Online (Sandbox Code Playgroud)
或者我们可以使用in_array()如下实现:
if(in_array($x,array('a','b','c','d'))){
action_a();
}else{
action_b();
}
Run Code Online (Sandbox Code Playgroud)
我想知道的是这两个选项中哪一个表现良好:
当可能值的$x数量很高时?
当可能值的$x数量低时?