[英]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.