簡體   English   中英

有條件地回顯打開和關閉HTML標簽

[英]Conditionally echo opening and closing HTML tags

在PHP中很多時候,必須有條件地回顯打開和關閉標簽。 例如,在獲取元素列表時,如果要顯示的元素( <li> )多於0個,則只想包含<ul> ... </ul>即可。 最明顯的解決方案是這樣的:

<?php
    $count = getCount();
    if($count > 0) {
        echo "<ul>";
    }
    for($i = 0; $i < $count; $i++) {
         // echo our items
         echo "<li>" . getItem() ."</li>";
    }
    if($count > 0) {
        echo "</ul>";
    }
?>

但是我們有兩次相同的if( ... ) 有沒有更好的方法來有條件地回顯<ul>標簽?

在這里你去...一個if

<?php
    $count = getCount();
    if($count > 0) {
        echo "<ul>";
        for($i = 0; $i < $count; $i++) {
            // echo our items
            echo "<li>" . getItem() ."</li>";
        }
        echo "</ul>";
    }
?>

這也會跳過不必要的for循環,您當前在代碼中有:)

我當然開玩笑了。 一旦您終於擺脫了想要編寫意大利面條式代碼的地步,那么您就可以研究各種模板引擎。

輸出HTML的更好方法是使用模板引擎,而不是直接通過PHP代碼輸出任何HTML。

您不需要兩個if語句。 您可以在一個語句中完成所有操作。

if($count > 0) {
    echo "<ul>";
    for($i = 0; $i < $count; $i++) {
     // echo our items
     echo "<li>" . getItem() ."</li>";
    }
    echo "</ul>";
}

暫無
暫無

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

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