【发布时间】:2011-07-13 21:51:54
【问题描述】:
这是为了将电子邮件中的图像、类别和 cmets 添加到我正在处理的照片库中。
我正在从电子邮件正文中提取前两个找到的类别名称,并且需要将类别 ID 分配给 $cat 变量以插入 DB。
我让它工作正常,硬编码,但想让它动态化,这样对类别名称的更改将贯穿整个过程。
我想更改的 switch 语句:
硬编码:
foreach($foundKeywords as $key => $value) {
if($key<=1){
switch($value)
{
case 'family':
$cat='3';
break;
case 'friends';
$cat='4';
break;
case 'fun';
$cat='6';
break;
case 'places';
$cat='5';
break;
case 'general';
$cat='2';
break;
case 'henry';
$cat='7';
break;
default;
$cat='2';
}
我想从 MySQL 表中提取类别并这样做:
$res = mysql_query('SELECT * FROM gallery_category');
$cat_switch_list = "";
while($row = mysql_fetch_array($res)){
$cat_switch_list .= "case '".$row[1]."':
$cat = ".$row[0].";
break;";
}
//////////////////////
foreach($foundKeywords as $key => $value) {
if($key<=1){
switch($value)
{
echo $cat_switch_list;
default:
$cat='1';
}
理论上,我相信这应该可行,但有些地方不对。
有什么建议吗?
【问题讨论】:
-
您意识到您的
$cat变量最终将与最后一个“关键字”一样,对吧?你不能以这种方式动态生成 PHP(至少,不是没有 eval 或类似的),你不应该,也不需要它。
标签: php mysql switch-statement