Elseif条件不起作用

时间:2015-09-02 12:35:13

标签: php if-statement

使用“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);

所以我不明白为什么我不能在这里做一个其他条件?

4 个答案:

答案 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>';
        }
    }
}
相关问题