我正在创建一个脚本,以自动为网站的各个部分生成RSS feed。我已经查询了数据库,并有一个数据数组,它表示每个部分,称为$showData。我正在使用switch语句来设置各种变量,具体取决于站点的部分。不需要每次添加节目都需要更改此脚本,而是希望case语句中的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循环创建每种情况,但是您不能将其放在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
)

最佳答案

除了使用switch块,您还不能只是尝试:

$title = $showData[$section] . ' Title';
$description = $showData[$section] . ' Description';

10-06 05:26