7

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

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

如何将其输出到列表中?

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

任何帮助或方向将不胜感激?

4

5 回答 5

22

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

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

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

if( count( $people) > 0) {
    echo '<ul>';
    echo '<li>' . implode( '</li><li>', $people) . '</li>';
    echo '</ul>';
}
于 2013-02-11T14:46:42.910 回答
6

尝试:

echo '<ul>';
foreach($people as $p){
 echo '<li>'.$p.'</li>';
}
echo '</ul>';
于 2013-02-11T14:45:02.940 回答
0

尝试这个:

echo "<ul>";
foreach(people as $person){
  echo "<li>". $person ."</li>";
}
echo "</ul>";
于 2013-02-11T14:45:18.303 回答
0

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

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";
}

前锋

对于无序数组非常有用 - 此循环将为您提供数组中的所有值作为您想要的变量:

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

尽管

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

于 2013-02-11T14:45:44.100 回答
0
<?php

echo "<ul>";

foreach(array("test", "test2", "test3") as $string)) {
    echo "<li>".$string."</li>"
}

echo "<ul>";

?>
于 2013-02-11T14:45:49.410 回答