8 votes

Conversion d'un tableau PHP en liste non ordonnée

Nouveau sur php : J'ai un tableau simple :

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

Comment puis-je en faire une liste ?

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

Toute aide ou orientation serait appréciée.

23voto

nickb Points 37850

Vous pouvez utiliser implode() et imprimer la liste :

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

Notez que cela imprimerait un message vide <li> pour une liste vide - Vous pouvez ajouter une vérification pour vous assurer que le tableau n'est pas vide avant de produire toute sortie (ce dont vous auriez besoin pour toute boucle afin de ne pas imprimer une liste vide). <ul></ul> ).

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

6voto

mallix Points 1110

Essayez :

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

0voto

jeroenvisser101 Points 816

Essayez ça :

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

0voto

Tomáš Zato Points 4901

Vous devez utiliser la boucle pour sortir les données du tableau sous forme de texte.

Il existe plusieurs boucles en PHP :

POUR

For va itérer $i (il peut s'agir d'une variable différente et d'un changement différent de l'itération) et se terminera lorsque la condition ne sera plus vraie.

$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

Très utile pour les tableaux non ordonnés - cette boucle vous donnera toutes les valeurs du tableau comme variable que vous voulez :

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

WHILE

Comme FOR, boucle tant que la condition est remplie.

0voto

Dawid Sajdak Points 1786
<?php

echo "<ul>";

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

echo "<ul>";

?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X