我只是想弄清楚哪一個會更好,從長遠來看,以及這兩個場景之間是否存在性能差異。多個if/else語句與foreach循環
我們正在維護網站,我們做了不創建,我們正在試圖動態添加一些在某些頁面側邊欄,並試圖決定,如果有一個理由使用foreach循環或多個if/else語句。
我們將以很多以上的頁面顯示此處顯示的6個頁面,因此可能會考慮表現問題。
foreach循環是這樣的:
$rb_enabled = false;
$RURLs = array(
'/cambridge.php' => 'cambridge',
'/milton.php' => 'milton',
'/kitchener_waterloo.php' => 'kw',
'/hamilton_dundas.php' => 'hd',
'/oakville.php' => 'oakville',
'/brantford.php' => 'brantford'
);
foreach($RURLs as $rurl => $engine_location){
if($_SERVER['REQUEST_URI'] == $ru){
$rb_url == $engine_location;
$rb_enabled == true;
}
}
if($rb_enabled === true){ //create a div with information based on engine location }
這個被加載到側邊欄的PHP文件的許多頁面,其中一些需要這個DIV爲它專門創建的,其他頁面需要沒有它在所有,因此$rb_enabled
。
是否有一個原因,foreach循環比這更好或更壞:
if($_SERVER['REQUEST_URI'] == '/cambridge.php'){ $rb_url = 'cambridge'; $rb_enabled = true; }
else if($_SERVER['REQUEST_URI'] == '/milton.php'){ $rb_url = 'milton'; $rb_enabled = true; }
else if($_SERVER['REQUEST_URI'] == '/kitchener_waterloo.php'){ $rb_url = 'kw'; $rb_enabled = true; }
else if($_SERVER['REQUEST_URI'] == '/hamilton_dundas.php'){ $rb_url = 'hd'; $rb_enabled = true; }
else if($_SERVER['REQUEST_URI'] == '/oakville.php'){ $rb_url = 'oakville'; $rb_enabled = true; }
else if($_SERVER['REQUEST_URI'] == '/brantford.php'){ $rb_url = 'brantford'; $rb_enabled = true; }
的if語句是有點多餘與$rb_enabled
,但如果有任何理由使用的一種方式比其他疑惑,即使這只是「如果你是下一個在這個項目上工作的人,你寧願接管的代碼」,如果這是唯一的原因。
也完全打開一個新的想法!
+1因爲你擊敗了我 –
我相信最終數組將會在合理的範圍內,所以我會繼續使用它。謝謝,並接受! – Xhynk