使用没有花括号的switch语句是对还是错?

时间:2012-12-05 07:21:56

标签: php performance syntax switch-statement conditional-statements

switch($_SERVER["SCRIPT_NAME"]){
    case "/index.php":
            $this->pageId = 1;
        break;
    case "/shops/index.php":
            $this->pageId = 2;
        break;
    case "/shops/dailydeals.php":
            $this->pageId = 4;
        break;
    case "/shops/shops.php":
            $this->pageId = 5;
        break;
    case "/shops/deals.php":
            $this->pageId = 9;
        break;
    case "/shops/store.php":
            $this->pageId = 10;
        break;
    case "/user/cashmail.php":
            $this->pageId = 13;
        break;
    case "/user/cashmail.php":
            $this->pageId = 13;
        break;
    default ;
            $this->pageId = 1;
        break;
    }

* 您对上述代码的看法是正确的,还是每个案例都应该用大括号写成?我们可以在没有花括号的情况下编写案例(不超过两行)吗?如果可以,使用或不使用花括号之间是否存在性能差异?感谢帮助。 *

1 个答案:

答案 0 :(得分:7)

我将在这个问题上添加我自己的答案,因为接受的答案是不正确的。

“多行”案例条款可以用大括号写成。是否应该完全取决于编写代码的开发人员和/或他们订阅的编码标准。

我个人在我使用的每种编程语言的case语句中使用花括号,从C开始,因为我相信它创建了更易读的代码。

不,这不是语法错误。

关于表现。好吧,PHP被解释,所以从技术上讲它必须解释花括号。但是,您不应该牺牲可读性来获得如此微不足道的性能提升。特别是在像PHP这样的语言中,性能影响远远超出了解释器。