Performance topic: If with multiple || or switch case?
本问题已经有最佳答案,请猛点这里访问。
我有一个小脚本根据用户的来源来格式化价格。我现在的问题是什么是更好的性能?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function FormatPrice($Price) { $Locale = $this->Locale; switch ($Locale) { case"en-GB": case"en-IE": case"he-IL": case"mt-MT": case"zh-CN": return number_format($Price, 2, '.', ','); default: return number_format($Price, 2, ',', '.'); } } |
或
1 2 3 4 5 6 7 8 | function FormatPrice($Price) { $Locale = $this->Locale; if ($Locale ==="en-GB" || $Locale ==="en-IE" || $Locale ==="he-IL" || $Locale ==="mt-MT" || $Locale ==="zh-CN") { return number_format($Price, 2, '.', ','); } else { return number_format($Price, 2, ',', '.'); } } |
使用以下链接了解更多信息似乎编译器在优化switch语句方面优于if语句。case与if else if:哪一个更有效?