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

?>

Voter pour cette fonction


Fonction pour transformer un tableau PHP en liste HTML (rare !)

Commentaires sur la fonctions php

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));

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 .= '
'; } return $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) . '
' : false;