使用“elseif”我想检查是否有超过4个元素,而不是给所有元素提供“col-md-5ones”类,但没有任何反应。
if(sizeof($elements)>0) {
$size = ceil(12 / sizeof($elements));
foreach($elements AS $element) {
echo '<article class="col-md-'.$size.'">'.$element.'</article>';
}
}
elseif(sizeof($elements)==5) {
foreach($elements AS $element) {
echo '<article class="col-md-5ones">'.$element.'</article>';
}
}
这显示了正确的元素数量:
echo sizeof($elements);
所以我不明白为什么我不能在这里做一个其他条件?
答案 0 :(得分:1)
仅当第一个条件为TRUE时,才将第二个条件评估为TRUE。这意味着else部分永远不会被执行。
答案 1 :(得分:1)
您的第一个条件检查$ elements是否大于0.
在该逻辑中,如果$ elements value为4,您仍将进入第一个if()条件。
if(sizeof($elements) > 0 && sizeof($elements) <= 4) {
$size = ceil(12 / sizeof($elements));
foreach($elements AS $element) {
echo '<article class="col-md-'.$size.'">'.$element.'</article>';
}
}
elseif(sizeof($elements) > 4) {
foreach($elements AS $element) {
echo '<article class="col-md-5ones">'.$element.'</article>';
}
}
答案 2 :(得分:-1)
我认为这是因为这两个条件之间存在冲突。
答案 3 :(得分:-1)
使用以下代码
if(sizeof($elements)>0) {
$size = ceil(12 / sizeof($elements));
if(sizeof($elements) > 4) {
foreach($elements AS $element) {
echo '<article class="col-md-5ones">'.$element.'</article>';
}
}
}