php – 使用数组动态生成switch语句的大小写

我正在创建一个脚本来为我网站的各个部分自动生成RSS源.我已经被数据库查询,并且有一个数据数组,代表每个名为$showData的部分.我正在使用switch语句来设置各种变量,具体取决于站点的部分.我不是每次添加节目时都要更改此脚本,我希望我的switch语句中的情况是动态的.

<?php
switch($section){
    case 'show1':
        $title = $showData['show1'] . ' Title';
        $description = $showData['show1'] . ' Description';
        break;
    case 'show2':
        $title = $showData['show2'] . ' Title';
        $description = $showData['show2'] . ' Description';
        break;
}
?>

我试图使用foreach循环来创建每个case,但你不能把它放在switch语句中.我读过的另一篇文章中的其他人建议使用eval().

这是我尝试过的代码,但是没有用.

<?php
switch($showFilter)}
    foreach($showFilters as $key => $value){
        case $key:
        $title = $value;
        $description = $value;
        break;
    }
}
?>

这是数组的print_r

Array
(
    [show1] => The Name of Show One
    [show2] => The Name of Show Two
)

解决方法:

您可以不尝试使用开关块,而不是使用开关块:

$title = $showData[$section] . ' Title';
$description = $showData[$section] . ' Description';
上一篇:Linux-将命令的STDOUT发送到RSS Feed


下一篇:[ZZ] Maxwell 架构