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

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 と同様に、条件が満たされている間ループします。

于 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 に答える