【问题标题】:Output PHP array into unordered list [closed]将PHP数组输出到无序列表中[关闭]
【发布时间】:2013-02-11 14:43:30
【问题描述】:

php新手:我有一个简单的数组:

$people = array('Joe','Jane','Mike');

如何将其输出到列表中?

<ul>
 <li>Joe</li>
 <li>Jane</li>
 <li>Mike</li>
</ul>

任何帮助或指导将不胜感激?

【问题讨论】:

标签: php


【解决方案1】:

您可以使用implode() 并打印列表:

echo '<ul>';
echo '<li>' . implode( '</li><li>', $people) . '</li>';
echo '</ul>';

请注意,这将为空列表打印一个空的&lt;li&gt; - 您可以添加一个签入以确保在生成任何输出之前数组不为空(任何循环都需要它,因此您不会打印一个空的&lt;ul&gt;&lt;/ul&gt;)。

if( count( $people) > 0) {
    echo '<ul>';
    echo '<li>' . implode( '</li><li>', $people) . '</li>';
    echo '</ul>';
}

【讨论】:

  • 我知道必须有一个简洁的方法来做到这一点。
【解决方案2】:

试试:

echo '<ul>';
foreach($people as $p){
 echo '<li>'.$p.'</li>';
}
echo '</ul>';

【讨论】:

    【解决方案3】:

    试试这个:

    echo "<ul>";
    foreach(people as $person){
      echo "<li>". $person ."</li>";
    }
    echo "</ul>";
    

    【讨论】:

      【解决方案4】:

      您需要使用循环将数组数据输出为文本。

      PHP中有多个循环:

      For 将迭代 $i(可以是不同的变量和与迭代不同的变化)并在条件不再为真时结束。

      $people = array('Joe','Jane','Mike');
      for($i=0; $i<count($people); $i++) {  //end when $i is larger than amount of people
          echo "  <li>{$people[$i]}</li>\n";
      }
      

      FOREACH

      对于无序数组非常有用——这个循环会为你提供数组中的所有值作为你想要的变量:

      $people = array('Joe','Jane','Mike');
      foreach($people as $human) {  //end when $i is larger than amount of people
          echo "  <li>$human</li>\n";
      }
      

      同时

      与 FOR 一样,在满足条件时循环。

      【讨论】:

        【解决方案5】:
        <?php
        
        echo "<ul>";
        
        foreach(array("test", "test2", "test3") as $string)) {
            echo "<li>".$string."</li>"
        }
        
        echo "<ul>";
        
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-12
          • 2018-05-04
          • 1970-01-01
          • 2023-04-02
          • 1970-01-01
          • 2017-10-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多