Accueil » Articles » Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

LES VARIABLES TABLEAUX

Définition des tableaux en PhP

Les tableaux en PhP sont très différents des tableaux en HTML. En PhP, un tableau est une variable spéciale capable de stocker plusieurs valeurs en même temps.

Comme toute variable en PhP, les tableaux ne sont générés que temporairement ; le temps de l’exécution de votre script PhP.

Les tableaux sont généralement utilisés en PhP lorsque l’on doit stocker plusieurs valeurs, venant d’une base de données par exemple, que l’on va ensuite utiliser dans notre code.

Il existe trois types différents de tableaux en PhP que nous allons voir ensemble :

  • Les tableaux numérotés, ou indexés ;
  • Les tableaux associatifs ;
  • Les tableaux multidimensionnels.

Les tableaux numérotés

En PhP, une clef est attribuée à chaque valeur afin, entre autres, de pouvoir sélectionner ladite valeur et de pouvoir l’afficher.

Dans le cas des tableaux numérotés, la clef va être numérique. La première valeur recevra la clef « 0 », la seconde valeur la clef « 1 » et etc.

Attention : un tableau numéroté aura toujours « 0 » pour première clef. Pensez-y, au risque de travailler sur la mauvaise valeur !

Il y a deux façons de créer un tableau numéroté : l’index peut être assigné automatiquement ou manuellement.

Dans le premier cas, nous écrirons notre tableau comme ceci :

Comment créer un tableau numéroté en PhP

Dans ce cas, notre variable tableau correspond à notre variable $prenoms. Pour construire notre variable tableau, on utilise la fonction array.

Nous verrons les fonctions dans le prochain chapitre, je n’en dirai donc pas plus pour le moment à ce sujet.

Les valeurs ou éléments de notre tableau sont ici Pierre, Paul et Jacques. Pierre a automatiquement reçu la clef « 0 », Paul la clef « 1 » et Jacques la clef « 2 ».

Retenez qu’on doit séparer chaque valeur par une virgule. Comme pour toutes variables, on peut utiliser des guillemets ou des apostrophes pour entourer nos valeurs textuelles.

Si l’on veut créer notre tableau manuellement, nous écrirons ceci :

Creation tableau numéroté en PhP

Vous pouvez écrire vos tableaux numérotés indifféremment d’une façon ou d’une autre, cela produira exactement le même résultat.

Les tableaux associatifs

Les tableaux associatifs sont différents des tableaux numérotés en un point : on va leur attribuer des clefs textuelles à la place des clefs numériques imposées pour les tableaux numérotés.

Les tableaux associatifs sont donc intéressants car on peut choisir la clef textuelle que l’on souhaite pour une valeur et qui sera cohérente avec cette valeur justement.

Imaginons par exemple que l’on souhaite stocker les âges de nos utilisateurs. Pour faire cela, utiliser un tableau numéroté n’aurait pas de sens puisqu’on ne saurait pas à qui appartient chaque âge. Nous allons donc utiliser un tableau associatif comme ceci :

Créer un tableau associatif en PhP

On utilise le symbole => pour associer une clef à une valeur. Notez que l’on aurait également pu créer le tableau manuellement, case par case, comme ceci :

Comment créer un tableau associatif PhP manuellement

Lire et afficher les valeurs d’un tableau

Nous disposons de plusieurs moyens pour lire et afficher les valeurs d’un tableau. On peut par exemple utiliser une boucle for ou foreach, la fonction print_r ou encore l’instruction echo sur notre variable tableau avec la position de la valeur à afficher.

On utilisera plutôt une méthode ou l’autre selon ce que l’on souhaite faire et selon le type de tableau à parcourir.

Si l’on veut afficher une seule valeur, nous utiliserons une instruction echo comme ceci :

Utiliser echo pour afficher les valeurs d'un tableau en PhP

Si l’on souhaite parcourir tout un tableau et afficher ses valeurs, on utilisera plutôt une boucle for ou foreach ou la fonction print_r.

Pour les tableaux numérotés, on peut utiliser soit une boucle for soit une boucle foreach. Voyons déjà un exemple avec une boucle for :

Utiliser une boucle for pour afficher les valeurs d'un tableau en PhP

Les valeurs du tableau PhP s'affichent bien avec notre boucle for

La boucle foreach est une boucle spécialement créée pour les tableaux. Foreach va lire un tableau ligne par ligne et stocker la valeur de chaque ligne dans une variable temporaire que l’on choisira. Illustrons immédiatement tout cela avec notre exemple précédent :

La boucle foreach se prête bien à l'affichage des valeurs d'un tableau PHP

Afficher les valeurs d'un tableau PhP avec une boucle foreach

Ici, on stocke la valeur de chaque ligne dans la variable $items. Ainsi, la première ligne est lue, sa valeur est stockée et immédiatement affichée. Lors du deuxième passage, la deuxième ligne du tableau est lue, sa valeur est stockée à son tour dans $items (cela écrasera la première valeur) et est affichée immédiatement et etc. jusqu’à la dernière ligne du tableau.

On ne peut pas utiliser de boucle for pour parcourir un tableau associatif (cela n’aurait pas de sens). Nous allons donc dans tout les cas plutôt utiliser une boucle foreach comme ceci :

La boucle foreach a été créé spécifiquement pour afficher les valeurs d'un tableau PhP

Affichage valeurs tableau associatif en PhP avec foreach

Dans l’exemple précédent, nous sommes un peu limités car nous ne récupérons que les valeurs de la variable tableau $age. Sachez que l’on peut également récupérer les clefs si l’on veut en procédant comme ceci (accrochez-vous, ça se complique un peu !) :

ON peut afficher les clefs et les valeurs d'un tableau PhP avec la boucle foreach

Affichage des clefs et des valeurs d'un tableau PhP avec foreach

Ici, on utilise une nouvelle variable $clef dans laquelle on stocke la valeur d’une clef donnée. Nous n’avons ensuite plus qu’à afficher cette variable.
Enfin, on peut utiliser la fonction print_r pour afficher un tableau.

Cette fonction est plutôt utilisée pour le débogage, afin de voir rapidement ce que contient un tableau. En effet, l’affichage du tableau sera sommaire (celui-ci sera affiché d’un bloc) :

On peut utiliser la fonction print_r pour afficher sommairement un tableau PhP

On affiche notre tableau PhP avec print_r

On peut éventuellement utiliser l’élément HTML pre afin d’avoir un affichage un peu plus correct. Cet élément va conserver les retours à la ligne et effectuer un formatage minimal à notre tableau :

On peut utiliser la balise HTML <pre> pour perfectionner l'affichage d'un tableau PhP avec print_r

On utilise la balise HTML <pre> avec print_r pour avoir un affichage de notre tableau PHP plus correct

Les tableaux multidimensionnels

Un tableau multidimensionnel est un tableau contenant lui même une ou plusieurs variables tableaux.

On appelle tableau à deux dimensions un tableau contenant lui même un ou plusieurs tableaux et tableau à trois dimensions un tableau contenant un ou plusieurs tableaux, eux mêmes contenant d’autres tableaux.

En PhP, on peut créer des tableaux à 2, 3, 4, 5 dimensions et plus. Cependant, je vous déconseille de créer des tableaux à plus de 3 dimensions car ceux-ci deviennent très durs à lire et à comprendre pour la majorité des personnes.

Voyons ensemble un exemple de tableau à deux dimensions :

Création d'un tableau PHP à deux dimensions

On affiche notre tableau PHP à deux dimensions avec print_r

Ici, notre variable tableau $membres contient trois autres variables tableaux contenant le prénom, l’âge et l’adresse mail de chaque membre.

Le nombre de dimensions d’un tableau correspond également au nombre d’indices (ou d’index) dont nous avons besoin pour sélectionner un élément. Ici, le tableau est un tableau en deux dimensions, il nous faudra donc deux indices : celui des lignes et celui des colonnes :

Le nombre de dimensions d'un tableau PHP correspond au nombre de clefs nécessaires pour afficher une valeur

On affiche les valeurs de notre tableau à plusieurs dimensions

Dans notre exemple, nous aurions également pu utiliser une boucle for dans une autre boucle for afin de récupérer les éléments de notre variable tableau $membres comme ceci :

On peut également utiliser des boucles for pour afficher les valeurs d'un tableau à plusieurs dimensions

On affiche les valeurs de notre tableau grace à plusieurs boucles for

16 commentaires

  1. abdelmalek derouich

    merci infiniment pour ces cours, j’été vraiment nul et maintenant je commence à n’avancer dans la création des sites WEB en utilisant le HTML, le CSS et le PHP et c’est grâce à vos cours minutieusement expliqués.

  2. bonjours ,je suis encore un petit peux débutant dans le codage , j’aimerais faire une page d’inscription et une de connexion en php et mysql je dispose d’une base de donnée . merci d’avance pour votre aide .
    ps : j’adore vos vidéo =)

  3. Bocomba William Edouard

    bonjour,

    je suis William un de vos disciple Abidjan. En lisant le code source du site pierre-girraud.fr j’ai constater un bon nombre de balise link et de balise meta. Et je me pose la question de savoir a quoi elle servent? Par ailleurs je suis impatient de savourer la suite du cour sur php et mysql. Merci d’avance et surtout merci pour tout.

    Amicalement

    William

  4. Bonjour,

    Je te remercie de tout mon cœur Pierre!
    Tu consacre ton temps à partager des choses meilleures.
    Je suis débutant mais je croix de devenir pro, tes tutos sont claires et faciles à comprendre.
    Merci infiniement

  5. Salut, c’est vraiment génial ce que tu fais mais j’ai encore un problème, je n’arrive pas a créer un formulaire pour envoyer un mail ou pouvoir communiquez avec moi (pas un bloc mais vraiment une page de contact).
    Merci de bien vouloir m’aider…

    • Bonjour,

      J’explique déjà tout cela dans mes cours HTML / CSS et PhP… Je ne peux donc que vous conseillez de revoir les parties consacrées à cela (lien pour envoyer un fichier / un mail et partie formulaire HTML et PhP).

      Bonne continuation,
      Pierre

  6. Vous etes genial, j’ai vu vos cours sur youtube et votre adresses qui ma poussé avenir sur votre site. Mr pierre je suis un petit zero de la programmation mais suis pas mal j’aimerai vous assistez dans vos taches pour me former…! merci pour les cours suis content

  7. je voudrais que tu m’explique un peut comment fonctionne les fonction static en phph

  8. bonjour
    merci pour ce cours mais je ne vois pas la partie base de données et pourtant l’intitulé c’est cours complet!!!!

  9. Salut Pierre Giraud,

    Je viens de regarder le tuto sur HTML et CSS, c’est magnifique !!!
    Maintenant j’aimerais creer des sites dynamiques avec PHP MySQL.
    Pourriez vous m’aider s’il vous plait. Merci de votre aide en envoyant des tuto tres tres interessant.

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*