2014-09-05 93 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