Fonction PHP : TableauPHP_vers_ListeHTML()
Ici, vous pouvez voir (et copier/coller) le code complet de la fonction PHP TableauPHP_vers_ListeHTML(). N'hésitez pas voter pour cette fonction si elle vous plaît ou si vous vouv en servez !
TableauPHP_vers_ListeHTML() ajouté le 2009-07-03 19:13:35 par maksim
<?php
// fonction pour transformer un tableau PHP en liste HTML (rare !)
function TableauPHP_vers_ListeHTML($tableau) {
// on récupère les variables au cas où on en ai besoin
global $GLOBALS;
// si c'est pas un tableau on quitte le script
if (!is_array($tableau)) {
echo "Ce n'est pas un tableau";
die;
}
// la liste débute par ul en html
echo "<ul>";
// une boucle tant que le tableau est un tableau (sécurité)
while (is_array($tableau)) {
// on affiche la valeur courante
$valeur = current($tableau);
echo "<li>" . $valeur;
// s'il n'y a plus de valeurs on arrête
if (false === ($valeur = next($tableau))) break;
}
}
?>
Fonction pour transformer un tableau PHP en liste HTML (rare !)
Commentaires sur la fonctions php
Tsadiq 07/07/2009 à 13:39
Bon juste pour nuancer le commentaire ci-dessus... on ne met plus les balises HTML en majuscules :D
On a l'air de bien se marrer sur ce site, n'empêche xD
piouPiouM 07/07/2009 à 15:47
Juste parce que les blagues ça va un moment mais faudrait penser à être sérieux un jour, hein… (même si bon, une fonction qui traite les tableaux associatifs multi-dimensionnels serait plus utile).
/**
* Convertir un tableau indéxé a une dimension en liste non ordonnée HTML.
*
* @param array $data Tableau à convertir en liste HTTML.
* @return string La liste HTML. FALSE si $data n'est pas de type array.
*/
function array2HtmlList($data)
{
$buf = false;
if (is_array($data))
{
$buf .= '- '; $buf .= implode('
- ', $data); $buf .= '
Déçu 10/07/2009 à 14:55
Quelle honte, c'est une horreur...
- Utiliser un "foreach" aurait été bien plus pertinent pour le parcours du tableau,
- Pas de balise "",
- Une multitude de "echo".
Heureusement que syndrael et piouPiouM ont corrigé le tir !
Vraiment déçu par ce code : quand on a ce niveau, on apprend des autres, on ne publie pas !
Déçu 10/07/2009 à 14:56
Oups, mon deuxième point a été "bouffé"...
Je voulais dire : pas de balise " < / l i > "
Will 16/07/2009 à 07:34
Pour "Déçu" : où est le mal de publier un code ? Je t'accorde le fait qu'il peut être très fortement optimisé, pour autant, il faut un début, et tes débuts ont probablement été aussi laborieux (ça a été le cas pour moi aux débuts du PHP 3 ;)). L'important est de vouloir s'améliorer et comprendre comment. Cela ne passe que par des remarques constructives ;)
PS. Les optimisations du echo est de moins en moins d'actualité, voire ne l'est plus ;)
Black hattitude 12/09/2009 à 22:05
Merci pour la fonction et les optimisations ci dessus.
Meatshake 14/09/2009 à 12:19
Si c'est pour du debug un print_r($tableau) suffit amplement.
echo ""; print_r($tableau); echo "";
bootdisk 16/07/2010 à 10:32
allez, juste par mauvais esprit :
return is_array($data) ? '
- ' . implode('
- ', $data) . '
syndrael 04/07/2009 à 12:06
Euh.. ça ne risque pas de marcher le code ci-dessus !!
// fonction pour transformer un tableau PHP en liste HTML (pas rare et qui fonctionne !!) function TableauPHP_vers_ListeHTML($tableau) { if (!is_array($tableau)) return "Erreur"; else { $ret = ""; foreach($tableau as $val) $ret .= sprintf("- %s
",$val);
$ret .= "
"; return $ret; } } //EXEMPLE echo TableauPHP_vers_ListeHTML(array(1,2,3,5));