2011-05-28 220 views
1

所以我想爲我的託管客戶建立的一些基本網站放在一個小型的輕量級框架,我試圖調用index.php各種包括。PHP的if語句聲明列表,需要幫助精簡

我已經想通了,但覺得有一定是寫下面的一個更好的方式,如果聲明:

<?php 
     if('home'==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 
     elseif('testing'==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 
     elseif('training'==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 
     elseif('contact'==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 
     elseif('pricing'==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 
    ?> 

我得到了下面來排序的工作,它使用什麼都最後列表中的項目是:

$arr = array('home', 'testing', 'training', 'contact'); 
     foreach ($arr as &$value); 

     if ($value==$currentpage) 
     { 
     include('shared/footer.htm'); 
     } 

那一個會顯示聯繫人頁面上footer.htm,但沒有其他人,如果我打開它周圍那麼它表明什麼都項目最後結束了,我也已經嘗試了一個foreach語句,它打破了頁面,所以我放棄了它,並認爲我會尋求幫助。

在此先感謝。

回答

1
$arr = array('home', 'testing', 'training', 'contact','pricing'); 
if (in_array($currentpage,$arr)) 
{ 
    include('shared/footer.htm'); 
} 
+0

太棒了!非常感謝。 – Ichimonban 2011-05-28 07:23:02

0

您可以使用簡單的數組列表:

$arrPage = array(
'home' => 'shared/footer.htm', 
'testing' => 'shared/footer.htm', 
'training' => 'shared/footer.htm', 
'contact' => 'shared/footer.htm', 
'pricing' => 'shared/footer.htm', 
); 
if(array_key_exists($arrPage, $currentPage)) 
    include($arrPage[$currentpage]); 
0

你可以有一個地圖,然後用它來調用正確的頁面。如果你沒有不同的文件路徑,你可以放棄路徑。我假設這是一個錯字。

$pages = array(
    'home' => 'shared/footer.htm', 
    'testing' => 'shared/footer.htm', 
    'training' => 'shared/footer.htm' 
); //and so forth 

if (isset($pages[$currentpage])) { 
    include($pages[$currentpage]); 
} else { 
    //show default page 
}