Fonction d'affichage de tableau (arrays)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 192 fois - Téléchargée 31 fois

Contenu du snippet

C'est une fonction pour afficher un tableau...
c'est surtout un script pour debuger un code, lorsqu'on a besoin de savoir ce que contien un tableau..
Vous pouvez le mettre dans un fichier style function.inc et l'inclure dans votre page :
<? include ("function.inc"); ?>

Source / Exemple :


//La fonction en elle meme
<?
function afficher_tableau($tableau,$titre="",$niveau=0) {
	// Paramètres
	//  - $tableau =  tableau dont il faut afficher le contenu
	//  - $titre = titre à afficher au dessus du contenu
	//  - $niveau = niveau d'affichage
	// s'il y a un titre, l'afficher
	if ($titre != "") {
		echo "<P><B>$titre</B></BR>\n";
	}
	//tester s'il y a des données
	if (isset($tableau)) { //il y a des données
		//parcourir le tableau passé en paramètre
		reset ($tableau);
		while (list ($cle, $valeur) = each ($tableau)) {
			//afficher la clé (avec identation en fonction du niveau)
			echo
				str_pad("",12*$niveau, "&nbsp;").
				 htmlentities($cle)." = ";
			//afficher la valeur
			if (is_array($valeur)) { //c'est un tableau...!
			 //mettre une balise <BR>
			 echo "<BR>";
			 //et appeler recursivement afficher_tableau pour
			 //afficher le tableau en question (sans titre et
			 //au niveau supérieur pour l'identation)
			 afficher_tableau($valeur,"",$niveau+1);
		  } else { //c'est une valeur scalaire
		     //afficher la valeur
			 echo htmlentities($valeur)."<BR>";
		}
	}
   } else { //pas de données
	  //mettre une simple balise <BR>  	 
	  echo "<BR>\n";
	}	 
} 
?>	

<?
//un exemple de son utilisation...

//afficher un tableau de couleurs
$couleurs = array("Bleu","Blanc","Rouge");
afficher_tableau($couleurs,"Couleurs");
//afficher un tableau de pays
$pays = array("FR" => "France","IT" => "Italie");
afficher_tableau($pays,"Pays");
//afficher un tableua à deux dimensions (clr et pays)
$cp = array("couleurs" => $couleurs,"pays" => $pays);
afficher_tableau($cp,"Couleurs & Pays");
?>

Conclusion :


Le résultat devrait ressembler à ça :
Couleurs
0 = Bleu
1 = Blanc
2 = Rouge

Pays
FR = France
IT = Italie

Couleurs & Pays
couleurs =
0 = Bleu
1 = Blanc
2 = Rouge
pays =
FR = France
IT = Italie

Pour ê rigoureu il fodré tester ke la var passée initialement en 1er param est bien un tablo, mé bon vu kcé pr ds tests ...
dites moi ce ke vs en pensez ^^

A voir également

Ajouter un commentaire Commentaires
Noiretulipe Messages postés 164 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 13 juillet 2008
14 juil. 2007 à 18:04
C'est toujours plus joli qu'un print_r et puis détourné, ça donne quelques idées ...
MisterJAD Messages postés 86 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 26 avril 2005
16 juil. 2003 à 10:11
arrrrf, j'avais complétmt survolé ce print_r ....
:'( jeme suis graaaave embeté pour rien .... enfin bon, ça m'a fait les doits!
BeB3RePHPLover Messages postés 23 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 3 septembre 2003
14 juil. 2003 à 18:44
carément en plus print_r c vraiment une fonction primaire en php ... mais c complexe a reprogrammer .. donc bravo kan meme ^^
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
11 juil. 2003 à 15:24
En plus une source du meme genre existe déjà sur le site ...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
11 juil. 2003 à 14:56
print_r()
j'allais le dire.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (MisterJAD)