begin process at 2010 02 10 06:08:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > FONCTION D'AFFICHAGE DE TABLEAU (ARRAYS)

FONCTION D'AFFICHAGE DE TABLEAU (ARRAYS)


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Niveau :Débutant Date de création :10/07/2003 Date de mise à jour :10/07/2003 14:59:02 Vu :4 717

Auteur : MisterJAD

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

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

  • //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");
  • ?>
//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 ^^


 Sources du même auteur

Source avec Zip Source avec une capture PHPMY PHONEBOOK

 Sources de la même categorie

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip POO - DEBUGGER par DiGhan
Source avec Zip CRAWLER DE SITE EN PHP par Mcjo
DÉCOUPAGE D'UN TEXTE EN FONCTION DES SAUTS DE LIGNES par biloubil
RÉCUPÉRER LE CHEMIN RELATIF D'UN OBJET PAR RAPPORT À LA RACI... par FredPsy

Commentaires et avis

Commentaire de Dean le 10/07/2003 22:12:07

Pas mal, mais on peut déjà faire ceci avec print_r et var_dump qui ne sont pas seulement limitées aux tableaux... Enfin c'est déjà ça de l'avoir reprogrammé :-)

Commentaire de gege217 le 11/07/2003 14:02:02

Bref, on peut résumer ton source en trois lignes de  code :
echo "&lt;pre&gt;";
print_r($tab);
echo "&lt;/pre&gt;";

.oOMimiLOo.

Commentaire de Kirua le 11/07/2003 14:56:47

print_r()
j'allais le dire.

Commentaire de Tortuegeniale le 11/07/2003 15:24:29

En plus une source du meme genre existe déjà sur le site ...

Commentaire de BeB3RePHPLover le 14/07/2003 18:44:01

carément en plus print_r c vraiment une fonction primaire en php ... mais c complexe a reprogrammer .. donc bravo kan meme ^^

Commentaire de MisterJAD le 16/07/2003 10:11:42

arrrrf, j'avais complétmt survolé ce print_r ....
:'( jeme suis graaaave embeté pour rien .... enfin bon, ça m'a fait les doits!

Commentaire de Noiretulipe le 14/07/2007 18:04:40

C'est toujours plus joli qu'un print_r et puis détourné, ça donne quelques idées ...

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales