• Aucun résultat trouvé

PHP – 5 Les tableaux … suite Les tableaux associatifs

N/A
N/A
Protected

Academic year: 2022

Partager "PHP – 5 Les tableaux … suite Les tableaux associatifs"

Copied!
2
0
0

Texte intégral

(1)

M1 DILIPEM – virginie.zampa.free.fr -- virginie.zampa@univ-grenoble-alpes.fr

PHP – 5

Les tableaux … suite Les tableaux associatifs

Les tableaux associatifs fonctionnent de la même façon que les tableaux indexés numériquement, à la différence qu'ils utilisent non plus des numéros comme indices, mais des étiquettes (ou mots) comme clés, que nous allons spécifier pour faire référence à une entrée du tableau.

Stockage des donnés d'un étudiant dans un tableau associatif :

$etu = array( "nom"=>"Bard" , "prenom"=> "Jo" , "n_etu"=>"20731827") ;

Il est possible de créer le tableau pas à pas, comme pour les tableaux indexés numériquement :

$etu["nom"]= "Bard" ;

$etu["prenom"]= "Jo" ;

$etu["n_etu"]= "20731827" ;

1. Afficher un tableau associatif

Cela fonctionne comme pour un tableau indexé numériquement, mais la clé sera un mot et pas un nombre.

1. print $etu["nom"] ; // Affiche Bard

Généralement on aura des éléments de même type dans un tableau indexé numériquement et plusieurs éléments qui composent une même donnée dans un tableau associatif.

Exemple :

$fruits=array("banane", "pomme, "poire") ;

$fruit=array ("nom"=> "banane", "couleur"=> "jaune") ;

2. Afficher un tableau associatif (bis)

Nous n'avons vu pour les tableaux associatifs qu'un affichage pas à pas où l'on doit toujours spécifier la clé de l'élément à afficher, ce qui peut être long et pas très pratique si l'on ne connaît pas toutes les clés du tableau (ce qui peut souvent arriver avec un tableau créé dynamiquement), ou si l'on s'en fiche et qu'on veut seulement afficher l'intégralité du tableau.

Il existe donc une autre boucle, la boucle foreach (littéralement "pour chaque"), qui peut être utilisée pour l'affichage des tableaux, indexés numériquement ou associatifs.

La boucle foreach parcourt chaque ligne du tableau et à chaque tour stocke l'élément considéré dans une sorte de variable temporaire, dont il faut définir le nom.

foreach ( $nom_tableau as $item ) {

print $item ; /* On ne mentionne pas le nom du tableau, seulement le nom de la variable temporaire que nous avons nommée ici $item. */

}

(2)

M1 DILIPEM – virginie.zampa.free.fr -- virginie.zampa@univ-grenoble-alpes.fr

3. Affichage de la clé et de la valeur associée

foreach ( $nom_tableau as $cle=>$valeur ) { print $cle. ":".$valeur. . "<br/>" ;

} // affichera chaque couple clé : valeur

4. Tableau de tableaux

Un tableau peut contenir dans ses entrées un autre tableau. Un tableau associatif simple est suffisant pour stocker les informations d'un étudiant par exemple, mais pas pour stocker les informations de tous les étudiants d'une classe. Dans ce cas, on peut créer un tableau qui contient des éléments de type tableau.

Exemples de construction d'un tableau de tableaux :

$etu[] = array("nom"=>"Bard" , "prenom"=>"Jo" , "n_etu"=>"20731827") ;

$etu[] = array("nom"=>"" , "prenom"=>"" , "n_etudiant"=>"20731845") ; Ou encore

$etu1 = array("nom"=>"Bard" , "prenom"=>"Jo" , "n_etu"=>"20731827") ;

$etu2 = array("nom"=>"" , "prenom"=>"" , "n_etu"=>"20731845") ;

$etudiants = array( $etu1, $etu2) ; Affichage d'un tel tableau avec une boucle for

For ($i=0 ; $i<sizeof($etudiants) ; $i++) { print $etudiants[$i]['nom'] ;

print $etudiants[$i]['prenom'] ; }

Affichage d'un tel tableau avec deux foreach imbriqués foreach($etudiants as $tabEtu) {

// $tabEtu contient les éléments du tableau indexé numériquement, soit des tableaux associatifs (1 par étudiant)

// Si on connaît les clés ou on ne veut pas tout afficher, pas la peine d'utiliser un deuxième foreach, il suffit de faire référence à l'élément affiché avec sa clé print $tabEtu['nom'] ;

// Sinon, on peut utiliser un deuxième foreach, si on ne connaît pas les clés, ou si on veut tout afficher :

foreach($tabEtu as $info) { print $info ;

} }

N.B. : Une chaine de caractères peut être traitée comme un tableau indexé numériquement.

Prenons le mot chat par exemple, stocké dans une variable $mot . Pour afficher la lettre h, je peux écrire :

print $mot[1] ; // Rappel : l'indexation d'un tableau commence à 0.

Références

Documents relatifs

Article du tiers moyen de l'épi : très légèrement bossu sur la face interne, poils rares, bourrelet peu marqué... Article terminal : velu, poils plus ou

tion d’une suite de tableaux d’échanges, ils écartent les valeurs propres les unes des autres ; l’invariance des facteurs dans la transformation de la diagonale permet

La méthode de prévision d’un tableau de probabilités dont un sous-tableau est donné, présentée dans les pages précédentes complète les méthodes de pré-. vision

Les tableaux : une nécessité Déclaration d’un tableau en Processing Accès aux éléments d’un tableau Tableaux bidimensionnels Avec des objets Fichiers de

 La déclaration d'un tableau s'effectue en précisant le type de ses éléments et sa dimension (le nombre de ses éléments)..  En pseudo

Il souhaite organiser ses résultats. Pour rassembler les données de manière pratique, il va les représenter dans tableau.. 2)

On reprend les données récupérées auprès des élèves de la classe, l’effectif désigne le « nombre d’élèves » corres- pondant à chaque loisir.

Quel pays a remporté le plus de médailles d’or ?. Quel pays a remporté le plus de médailles au total ?. Quels pays ont remporté quinze médailles de bronze ?. / 7 points).. Le