Php 如何使用带有foreach循环的开关

Php 如何使用带有foreach循环的开关,php,foreach,switch-statement,Php,Foreach,Switch Statement,我有多个页面称为“特色项目”列表-我希望将特色项目包含在一个包含中,然后在我的其他页面上只给出要包含在变量中的特色项目的名称 我想也许可以使用一个开关,然后使用一个foreach循环来运行它,但我对PHP是新手,我不确定这样做是否正确 所以我想这样创建我的交换机: switch ($sector){ case "Sector1": $title = "title of sector"; $url = "url here"; $img = "

我有多个页面称为“特色项目”列表-我希望将特色项目包含在一个包含中,然后在我的其他页面上只给出要包含在变量中的特色项目的名称

我想也许可以使用一个开关,然后使用一个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;
}
然后在每一页上,我要声明我要使用哪个开关

例如,我想使用扇区1和扇区2,然后在foreach循环中运行它们,以便它们输出如下内容:

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

“.$title。”

我该怎么做呢?

我认为没有理由使用开关盒。刚刚在数组中声明了您的项,如下所示:

$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>"
}
$Sectors\u to\u use=[“Sector1”、“Sector2”];
foreach$Sectors\u to\u用作$sector{
回声';
回显“$Sectors[$sector][“title”]”;
回声';
回声“”
}

您正在使用数据库吗?如果没有,你似乎需要它这里只有4/5的项目,我将在之间切换,所以我想我可以把它放在一个开关盒,而不是。他们改变了吗?如果没有,不要浪费你的时间,直接写HTML就行了。你的思路是正确的。为区段开关部件创建函数。从中返回数组。通过传递扇形参数调用函数,并使用返回数组来呈现html块。wonderwhy-我更喜欢使用php,因为我有10个页面调用不同的“特色项目”-另外,学习如何做会很好:)kayra-谢谢你的提示,尽管我不完全确定如何做谢谢你这真的帮助了我!我不得不将$Sectors_改为_use=[“Sector1”、“Sector2”];to$sections_to_use=数组(“Sector1”、“Sector2”);因为它不喜欢方括号,但你真的帮了我-谢谢!:)