我在foreach中使用if条件,但if条件仅适用于第一个值.
foreach ($my1 as $my2) {
if ($subsubcategory == $my2){
$selected = "selected";
} else {
}
echo ' <a href="#"class="selectable '.$selected.'"><i class="box"></i>'.$my2.'</a>';}
}
Run Code Online (Sandbox Code Playgroud)
仅在条件为假的情况下为第一个值,对于所有其他值,仅为第一个值.所以这里有人对这个问题有任何想法.
您需要$selected在else子句中设置为空字符串.否则,它将从前一次迭代中持续:
foreach ($my1 as $my2) {
if ($subsubcategory == $my2){
$selected = "selected";
} else {
$selected = "";
}
echo ' <a href="#"class="selectable '.$selected.'"><i class="box"></i>'.$my2.'</a>';}
}
Run Code Online (Sandbox Code Playgroud)