【发布时间】:2011-07-27 00:04:29
【问题描述】:
我正在使用这个功能:
function makeImmunities($data) {
$immunities = explode(',', $data);
foreach($immunities as $immunity) {
switch($immunity) {
case 'poison':
$ret .= '<img src="/images/gems/earth.gif"/> ';
break;
case 'earth':
$ret .= '<img src="/images/gems/earth.gif"/> ';
break;
case 'paralyze':
$ret .= '<img src="/images/gems/paralyze.gif"/> ';
break;
case 'death':
$ret .= '<img src="/images/gems/death.gif"/> ';
break;
case 'ice':
$ret .= '<img src="/images/gems/ice.gif"/> ';
break;
case 'invisible':
$ret .= '<img src="/images/gems/invisible.gif"/> ';
break;
}
}
return $ret;
}
$ret 有 .=,所以内容应该添加到它自己。但事实并非如此。 我不希望它以这种方式工作:
$data 有一个如下所示的数组:'poison'、'earth'、'death'。 这个函数只返回第一种情况:
$ret .= '<img src="/images/gems/earth.gif"/> ';
如果大小写与 $immunity 相同,我也不想添加 $ret 所具有的所有内容。
【问题讨论】:
标签: php variables switch-statement