关于php:性能主题:如果有多个||

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:哪一个更有效?