我正在创建一个脚本来为我网站的各个部分自动生成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';