2014-09-05 17 views
0

我有多個頁面調用了「精選項目」列表 - 我想將精選項目放入包含內容中,然後在其他頁面上僅列出哪些精選項目的名稱包含在一個變量中。如何使用具有foreach循環的開關

我想也許使用一個開關,然後一個foreach循環來運行它,但我是新來的PHP,我不知道這是正確的做法。

所以我想創造我的開關,像這樣:

switch ($sector){ 
    case "Sector1": 
     $title = "title of sector"; 
     $url = "url here"; 
     $img = "image url here";  
     break; 
    case "Sector2": 
     $title = "title of sector"; 
     $url = "url here"; 
     $img = "image url here"; 
     break; 
    case "Sector3": 
     $title = "title of sector"; 
     $url = "url here"; 
     $img = "image url here"; 
     break;  
    default: 
     $title = "title of sector"; 
     $url = "url here"; 
     $img = "image url here"; 
     break; 
} 

,然後在每一頁上,我想聲明一個開關(ES),我想使用

因此,例如,我想使用部門1和2,然後運行它們在foreach循環,使他們的輸出是這樣的:

<div class="item"> 
    <h1>'.$title.'</h1> 
    <img src="'.$img.'" /> 
</div> 

我怎麼會去這樣做?

+1

你使用的數據庫?如果不是這樣,似乎你需要它 – wonderwhy 2014-09-05 16:07:49

+0

只有4/5項我會切換,所以我想我可以把它放在開關盒中。 – user1788364 2014-09-05 16:08:43

+1

他們改變了嗎?如果沒有,不要浪費你的時間,直接寫HTML。 – wonderwhy 2014-09-05 16:11:26

回答

1

我看不出使用開關盒的理由。剛剛宣佈您的項目在數組中,像這樣:

$Sectors = array("Sector1" => array("title" => "title of sector", "url" => "url here", "img" = "image url here"), 
    "Sector2" => array(...), 
...); 

然後你就可以得到像

$Sectors["Sector1"]["title"] 

然後,你可以只代碼的每一頁上的確切的HTML代碼,也可以像任何特定值一個普通的頁面,並在頂部有一個陣列,你想要使用像

$Sectors_to_use = ["Sector1", "Sector2"]; 
foreach $Sectors_to_use as $sector { 
    echo '<div class="item">'; 
    echo "<h1>" . $Sectors[$sector]["title"] . "</h1>"; 
    echo '<img src="' . $Sectors[$sector]["img"] . '"' />; 
    echo "</div>" 
} 
+0

謝謝你真的幫助我!我必須更改$ Sectors_to_use = [「Sector1」,「Sector2」];到$ Sectors_to_use = array(「Sector1」,「Sector2」);因爲它不喜歡方括號,但你真的幫助了我 - 謝謝! :) – user1788364 2014-09-08 09:26:25