哪种形式更有效
这一个:
switch($var) {
case 1:
break;
case 2:
break;
}
..或者这一个:
if( $var === 1 ) {
} elseif( $var === 2 ) {
}
在表现方面?
答案 0 :(得分:23)
表现方面完全无关紧要。
正如PHPBench所示,即使有1000次操作,两者之间的差异大约为188微秒,即188 <百万分之一秒。 PHP代码通常有更大的瓶颈:单个数据库调用通常需要几十毫秒,这是数万倍。
对于许多检查,使用您喜欢的代码,以及代码的可读性更好的代码,最有可能是switch
。
答案 1 :(得分:2)
这种微观尺度的表现根本不重要。使用更适合您的环境。可读性和可维护性远比性能重要。
答案 2 :(得分:1)
它不是关于性能,更多是关于要求!!
有时你想在if条件下发生一些事情,否则它会转到其他地方。
如果您有很多要比较的值,可以使用开关