簡體   English   中英

elseif語句不起作用

[英]elseif statement not working

我寫了一些腳本,效果很好,但是我試圖添加一個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語句中的所有內容都可以正常運行。 一定是簡單的事情,我想念或誤會了!

$i在此位置永遠不會為0
您可以在測試前的if語句( ++$i )中增加它。

請注意,只有在使用大括號時,elseif和else if才會被視為完全相同。

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;

基本語法錯誤? 您不能在執行else if時使用非支撐短if

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

注意與您的相比,此塊上的顏色突出顯示

這是工作成果,感謝您的所有幫助!

$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;   
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM