Новое для php: у меня есть простой массив:
$people = array('Joe','Jane','Mike');
Как вывести это в список?
<ul> <li>Joe</li> <li>Jane</li> <li>Mike</li> </ul>
Любая помощь или руководство будут оценены?
Вы можете использовать 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>'; }
Пытаться:
echo '<ul>'; foreach($people as $p){ echo '<li>'.$p.'</li>'; } echo '</ul>';
Попробуй это:
echo "<ul>"; foreach(people as $person){ echo "<li>". $person ."</li>"; } echo "</ul>";
Вам нужно использовать цикл для вывода данных массива в виде текста.
В PHP существует несколько циклов:
Для will will итерации $ 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, петли при выполнении условия.
<?php echo "<ul>"; foreach(array("test", "test2", "test3") as $string)) { echo "<li>".$string."</li>" } echo "<ul>"; ?>