2012-12-05 49 views
1
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; 
    } 

* 對於上面的代碼,你說什麼是對的,還是應該用大括號寫出每個案例?我們可以寫不帶大括號的案例(不超過兩行)嗎?如果可以的話,使用帶花括號還是不帶花括號的性能差異?感謝幫助。 *使用不帶大括號的switch語句是對還是錯?

回答

7

我打算爲這個問題添加自己的答案,因爲接受的答案不正確。

「多行」情況下的條款可以用花括號寫。是否應該完全取決於編寫代碼和/或達到他們所訂閱的編碼標準的開發人員。

我個人使用花括號在我使用的每種編程語言的case語句中,從C開始,因爲我相信它會創建更具可讀性的代碼。

而且不,它不是語法錯誤。

關於表現。那麼,PHP是被解釋的,所以在技術上它必須解釋花括號。但是,您不應該爲可忽略的性能增益犧牲可讀性。尤其是像PHP這樣的語言,其性能影響遠遠超出解釋器。

+0

你說得對。由於阻止用戶刪除接受的答案的規則,因此無法刪除我的答案。會標誌。 –

+0

啊,不是問題。謝謝 :) – taylorcressy