簡體   English   中英

生成<li> php 中的元素</li>

[英]generating <li> elements in php

這應該相對簡單,但我在這里或其他地方找到的解決方案都不起作用。

我正在嘗試顯示一個包含品牌列表所有元素的表格。 我手動添加了兩個(阿迪達斯和耐克)只是為了測試顯示,這些顯示正確。 然后我嘗試使用品牌數組生成一個列表(數組brandList 有兩個項目,id 和name)。 output 是垃圾。

<ul class="brand-list">
    <li><a href="#">Adidas</a></li>
    <li><a href="#">Nike</a></li>
    <?php
        foreach ($brandList as $item) {
           $text = '<li><a href="#">'.$item[1].'</a></li>';
           echo("$text\n");
        }
    ?>
</ul>

預期 output:

 Adidas
 Nike
 Puma
 Asics

實際 output

Adidas
Nike
'.$item[1].''; echo("$text\n"); } ?>

我嘗試了十幾種不同的格式(使用單引號和雙引號、反斜杠等),但它總是只顯示代碼行的一半而不是變量。 我知道這很簡單,但是我花了太多時間弄亂它而沒有結果。

一種方法是讓 PHP 生成 HTML 而不是回顯字符串。 我認為這比呼應更清楚。

<ul class="brand-list">
    <li><a href="#">Adidas</a></li>
    <li><a href="#">Nike</a></li>
    <?php
        foreach ($brandList as $item) {
    ?>
        <li><a href="#"><?=$item[1]?></a></li>
    <?php
        }
    ?>
</ul>

嗨,我認為您錯過了循環中的起始 li 標簽。 請檢查此以獲取您的解決方案。

<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
   $text="";
   foreach ($brandList as $item){
       $text .= '<li><a href="#">'.$item[1].'</a></li>';
      
    }
    echo($text);
?>

您的代碼段有很多問題,坦率地說,我並不奇怪它不起作用。

  1. 您在foreach循環中使用了錯誤的語法。
  2. 您正在創建的<li></li>沒有開始標記,只有一個錨標記<a></a>和一個結束列表項標記</li>
  3. $test是一個帶有引號的變量,在echo顯期間在其周圍使用引號是錯誤的,因為您的href中的"將關閉變量周圍的第一個引號,將其他變量作為字符串而不是 HTML 標記輸出。
  4. 雖然不是那么重要,但放棄\n字符。 您的瀏覽器將在有或沒有它的情況下以塊格式呈現列表。

將您的代碼段更改為如下所示

<ul class="brand-list">
    <li><a href="#">Adidas</a></li>
    <li><a href="#">Nike</a></li>
    <?php
        foreach($brandList as $item) {
    ?>
           <li><a href="#"><?=$item[1]?></a></li>
    <?php
        }
    ?>
</ul>

如果您更喜歡當前的語法,請將其更改為此

<ul class="brand-list">
    <li><a href="#">Adidas</a></li>
    <li><a href="#">Nike</a></li>
    <?php
        foreach($brandList as $item) {
           $text = '<li><a href="#">'.$item[1].'</a></li>';
           echo($text);
        }
    ?>
</ul>

暫無
暫無

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

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