elseif语句不起作用

时间:2013-07-03 08:52:23

标签: php if-statement

我写了一些效果很好的脚本,但我试图添加一个elseif语句,其中似乎什么也没做,无法弄清楚我哪里出错了。 (是的我是一个PHP新手,但我正在尝试!:)

$i = 0;
foreach($arrJobs as $job)
{
    echo "<div class=\"job-ind\">\n";
    echo '<p><a href="' . $job->url . '">' . $job->title . ', ' . $job->location . "</a></p>\n";
    echo '<p class="smaller">Reference: ' . $job->reference . "</p>\n";
    echo '<p><strong>' . $job->salary . "</strong></p>\n";
    echo "</div>\n";

    if (++$i == 5) break;

    elseif ($i == 0) {
        echo '<img src="img/no-vac.png"/>';
    }
}

elseif语句中的所有内容都完美无缺。 一定是简单的我想念或误解!

4 个答案:

答案 0 :(得分:4)

$i永远不会0在此位置 您可以在测试之前的if语句中增加它(++$i)。

答案 1 :(得分:2)

Note that elseif and else if will only be considered exactly the same when using curly brackets.

if (++$i == 5) break;

elseif ($i == 0) {
    echo '<img src="img/no-vac.png"/>';
}

无效,请将其更改为:

if ($i == 0) { 
    echo '<img src="img/no-vac.png"/>'; 
}
elseif (++$i == 5) {
   break;
}

elseifelse if

我看到很多人在线程中讨论这个问题。 这些都是正确的,并且都有效。

区别在于:

else if() {
}

转换为:

else {
    if(){
    }
}

并且不能在使用冒号的代码块中使用:

 if:
   stuff
 else if()://won't work
   //stuff
 endif;

答案 2 :(得分:0)

基本语法错误?如果

,那么在做其他事情时你不能使用非支撑的短if
 if (++$i == 5)  {
   break;
 } else if ($i == 0) {
   echo '<img src="img/no-vac.png"/>';
 }

注意此块上的颜色突出显示与您的相比

答案 3 :(得分:0)

这是工作成果,谢谢你的帮助!

$i = 0;
foreach($arrJobs as $job)
{
    echo "<div class=\"job-ind\">\n";
    echo '<p><a href="' . $job->url . '">' . $job->title . ', ' . $job->location . "</a></p>\n";
    echo '<p class="smaller">Reference: ' . $job->reference . "</p>\n";
    echo '<p><strong>' . $job->salary . "</strong></p>\n";
    echo "</div>\n";
    }

    if ($i = 0) {
        echo "<div class=\"job-ind\">\n";
        echo '<img src="img/no-vac.png"/>';
        echo "</div>\n";
    }

    else if (++$i == 5) {
        break;   
    }