PHP:切换vs if

时间:2013-04-09 13:24:11

标签: php if-statement switch-statement

哪种形式更有效

这一个:

switch($var) {
  case 1:

    break;
  case 2:

    break;
}

..或者这一个:

if( $var === 1 ) {

} elseif( $var === 2 ) {

}

在表现方面?

3 个答案:

答案 0 :(得分:23)

表现方面完全无关紧要。

正如PHPBench所示,即使有1000次操作,两者之间的差异大约为188微秒,即188 <百万分之一秒。 PHP代码通常有更大的瓶颈:单个数据库调用通常需要几十毫秒,这是数万倍。

对于许多检查,使用您喜欢的代码,以及代码的可读性更好的代码,最有可能是switch

答案 1 :(得分:2)

这种微观尺度的表现根本不重要。使用更适合您的环境。可读性和可维护性远比性能重要。

答案 2 :(得分:1)

它不是关于性能,更多是关于要求!!

有时你想在if条件下发生一些事情,否则它会转到其他地方。

如果您有很多要比较的值,可以使用开关