PHP & MySQL

Les tableaux en php - 1ère partie

Le 29 novembre 2007 à 23:57 par Tom

En programmation, il est important d’avoir un code propre… Je ne parle pas seulement de concaténation, commentaires, etc.
Je parle surtout du code en lui même… Et quoi de plus propre que d’utiliser des tableaux pour stocker des données ?

En effet, beaucoup de programmeurs n’utilisent pas assez les array(tableau) en php, ce qui est regrettable car utilisez des arrays et vous verrez la programmation sous un autre angle :). C’est ce que nous allons essayer de voir ensemble.Imaginez que vous avez une liste de personnes : Chris, Tom, spylberg, Tomtom, nicolasb.
Plutôt que de les stocker dans une variable de type : $members = “Chris, Tom, spylberg, Tomtom, nicolasb”, nous allons stocker nos valeurs dans un tableau.
Pour ce faire, rien de très compliqué, juste utiliser la fonction array(); de php :

  1. $members = array("Chris","Tom","spylberg","Tomtom","nicolasb");

Vous vous dîtes sûrement : “C’est bien beau tout ça, mais c’est quels sont les avantages ?”.
Bien, stocker vos valeurs dans des tableaux permet tout d’abord de les stocker de façon propre et claire, mais aussi de pouvoir interagir entre les différentes valeurs du tableau.
Chose importante et primordiale dans les tableaux : les clés (keys). Mais que sont-ce donc que ces clés ?
Pour résumer, la clé (key) d’une valeur est son identifiant dans le tableau.
Il faut savoir que dans les tableaux, la première clé est “0″ (zéro).
Donc si vous avez bien compris, l’identifiant de la valeur “Chris” est 0, l’identifiant de la valeur “Tomtom” est 3, etc.

Voici quelques exemples de fonctions utilisables avec les tableaux :


· La fonction print_r() :
> Vous permet d’afficher tout le contenu de votre tableau, sous une forme certes spéciale, mais pratique. Par exemple :

  1. print_r($members);
  2. /*
  3. Affichera :
  4.  Array
  5.  (
  6.      [0] => chris
  7.      [1] => Tom
  8.      [2] => spylberg
  9.      [3] => Tomtom
  10.      [4] => nicolasb
  11.  )
  12. */

D’autre part, si vous voulez n’afficher que le membre 3, il vous suffira de faire :

  1. echo $members[2]; // Affichera "spylberg"



· La fonction sort() :
> Vous permettra de trier les valeurs de votre tableau par ordre alphabétique, ce qui donnera :

  1. sort($members);
  2. (
  3.     [0] => Chris
  4.     [1] => Tom
  5.     [2] => Tomtom
  6.     [3] => nicolasb
  7.     [4] => spylberg
  8. )
  9.  
  10. // Si vous voulez garder les clés, il faudra utiliser la fonction ksort(); qui donnerait :
  11. ksort($members);
  12. (
  13.     [0] => Chris
  14.     [1] => Tom
  15.     [3] => Tomtom
  16.     [4] => nicolasb
  17.     [2] => spylberg
  18. )



· La fonction extract() :
> Importe les variables du tableau sous forme $clef = “valeur” :

  1.  
  2. $member = array(
  3.   "user_id"=>"124",
  4.   "user_login"=>"Tom",
  5.   "user_password"=>"azerty",
  6.   "email"=>"contact at tomclarks dot net");
  7. extract($member);echo $user_id; // Affichera "124"
  8.  
  9. echo $user_login; // Affichera "Tom"
  10. echo $user_email; // Affichera "contact at tomclarks dot net"



· Pour lister le contenu d’un tableau d’une façon précise :
> Pour lister un un tableau d’une façon claire et précise, nous allons utiliser la boucle foreach(). En effet, nous allons faire une boucle sur chaque valeur de notre tableau, ce qui nous permettra pour chaque clé d’obtenir un affichage spécial (ou pour les tableaux multi-dimensionnels, lister les valeurs d’un tableau d’un tableau… Ceci sera dans la 2° partie de ce tutorial).

  1.  
  2. // Reprenons notre tableau du début :
  3. $members = array("Chris","Tom","spylberg","Tomtom","nicolasb");
  4.  
  5. foreach($members as $cle=>$valeur) {
  6.  if($valeur=="Chris")
  7.         $status = "l’admin";
  8.  elseif($valeur=="Tom")
  9.         $status = "l’auteur de cet article et est un rédacteur"; // C’est mon article, je fais ce que je veux :D
  10.  else
  11.         $status = "un rédacteur";
  12.  echo $valeur . " est $status de SmashingCoding.com";
  13. }
  14.  
  15. /* Nous obtiendrons comme résultat :
  16. Chris est l’admin de SmashingCoding.com
  17. Tom est l’auteur de cet article et est rédacteur de SmashingCoding.com
  18. spylberg est un rédacteur de SmashingCoding.com
  19. Tomtom est un rédacteur de SmashingCoding.com
  20. nicolasb est un rédacteur de SmashingCoding.com */



Vous retrouverez des infos sur les tableaux multi-dimensionnels dans la 2° partie de ce tutorial…
En attendant, je vous conseille vivement d’aller consulter la documentation PHP sur les array() qui est très bien faite et très utile :)
Manuel PHP: Tableaux

Un commentaire »

Gravatar

Pingback de Tom Clarks » SmashingCoding et Surprise

le 30 novembre 2007 à 1:16

[…] terminer la rédaction d’un article conséquent sur SmashingCoding.com : Les tableaux en php (1ère partie - 2ème partie). Du gros travail […]

Laisser un commentaire

Votre Nom

Votre E-mail (obligatoire mais ne sera pas publié)

Votre Site ou blog

Votre commentaire

Valid XHTML 1.0 Transitional