如何在foreach
语句中包含switch
- 循环?
我有类似的东西(不知道它是否正确):
$activiteiten = array(2,9,11);
switch ($list_day) {
case $today :
$calendar.= '<td class="today">';
break;
foreach ($activiteiten as &$value) {
case $value :
$calendar .= '<td class="date_has_event">';
break;
}
default :
$calendar .= '<td>';
}
我得到的错误是“解析错误:语法错误,意外的T_CASE在......”
答案 0 :(得分:3)
PHP不允许您以编程方式创建case语句。
这个怎么样:
$activiteiten = array(2,9,11);
if ($list_day == $today){
$calendar.= '<td class="today">';
}elseif(in_array($list_day, $activiteiten)){
$calendar .= '<td class="date_has_event">';
}else{
$calendar .= '<td>';
}
答案 1 :(得分:2)
实际上这是你的默认情况:
$activiteiten = array(2,9,11);
switch ($list_day)
{
case $today:
$calendar .= '<td class="today">';
break;
default:
foreach ($activiteiten as $value)
{
if ($list_day === $value)
{
$calendar .= '<td class="date_has_event">';
break 2; # !!
}
}
$calendar .= '<td>';
}
但是你可以(应该)首先使用一些逻辑来获取$class
,如果它仍然为空,则创建一个空的<TD>
元素,如果已设置,则创建一个<TD class="...">
元素
答案 2 :(得分:1)
这种方式不可能。您可以尝试类似
的内容if (in_array($list_day, $activiteiten))
代替