[英]php dynamic function for list
我試圖使動態功能,用戶可以在不添加<ul> <li>
標記的情況下創建列表。
這是我的功能
function the_main_nav($navlinks){
echo '<nav>';
echo '<ul>';
$menuitem = $navlinks;
$pieces = explode(",",$menuitem);
$i=$navlinks;
while($i==','){
echo '<li>' . $pieces[$i] . '</li>';
$i++;
}
echo '</ul>';
echo '</nav>';
}
這是我的模板標簽the_main_nav('1,2,3,44 5');
但是它陷入了無休止的循環,並伴有錯誤。 我想在每個','
逗號后自動生成<li>
。 另外,如果可能的話,我想在列表中添加錨鏈接,以便可以與頁面鏈接。
代替while
循環,使用foreach
:
foreach ( $pieces as $piece ) {
echo '<li>' . $piece . '</li>';
}
是的,使用foreach可能很酷,但是您的錯誤出在邏輯視圖中。 如果我看一下您的算法,則會看到:編寫一些打開的標簽,將參數存儲到一個名為$ menuitem的新變量中,每次發現“”時都從$ menuitem創建一個數組,並將其存儲在$ pieces中,將參數存儲到一個新變量中現在稱為$ i,而$ i等於char“,”(總是錯誤的)寫我的子標簽
之后寫完結束標簽。
您不設置陣列。 一個foreach循環會做到這一點。 但是要糾正您的代碼,您必須了解$ i必須將數組的索引作為值,所以0,1,2,3 ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.