Télécharger la présentation
1
Cours n°4 Les tableaux associatifs
Php Cours n°4 Les tableaux associatifs
2
Tableaux 2 formes La forme indexée (déjà vue) La forme associative.
3
Tableau à index Déclaration des valeurs seulement
Index numérique automatique Parcours de 0 à n $jour = array ("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche") ; for ( $i=0; $i<sizeof($jour); $i++ ) { echo "$i : $jour[$i],"; } 0 : lundi, 1: mardi, 2: mercredi, 3 : jeudi, 4 : vendredi, 5 : samedi, 6 : dimanche
4
Tableau associatif Déclaration des valeurs et des indices Indice
"clé" => "valeur" Indice Valeur numérique, Chaîne de caractères, … $jour = array("lun" =>" lundi", "mar" => "mardi", "mer" => "mercredi", "jeu" => "jeudi", "ven" => "vendredi", "sam" => "samedi", "dim" => "dimanche") ; $JourSemaine est le nom que NOUS, programmeur avons décidé de donner à notre tableau. Je rappelle que toutes les variables, tableau ou pas, doivent obligatoirement commencer par un $. Ensuite vient le fameux = array() suivi de ses parenthèses, qui veut dire pour PHP : "attention, c'est un tableau". Entre les parenthèses, on donne le nom de l'étiquette (la clé) que l'on colle sur chaque casier de notre tableau, puis à l'aide du signe => ("signe égal" suivi de "plus grand que"), on dit ce que l'on met comme valeur dans ce casier. Par exemple Comparaison avec tableau à index : $jour = array ("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", "dimanche") ;
5
Remplir un tableau associatif
Déclarer le tableau Ajouter une entrée à la volée $jourAnglais = array("lundi" =>" monday", "mardi" => "tuesday", "mercredi" => "wednesday"); - Le simple fait d'écrire ça, pour un tableau existant (déjà déclaré, rempli ou non) signifie pour PHP : "tu crée un casier, tu lui colle une étiquette sur laquelle il sera marqué "Lunes" et dans ce casier, tu y range la valeur "lundi". - on n'utilise plus le signe "=>". Il ne s'utilise que lors de la déclaration du tableau. Non. On utilise tout simplement le signe d'assignation ordinaire, le signe "=" tout seul, comme pour n'importe quelle variable standard $jourAnglais[‘jeudi’] = " Thursday";
6
Accéder au contenu Si on connaît la clé de la valeur voulue
Sinon, il faut utiliser une boucle : foreach $lundiA = $jourAnglais[‘lundi’]; foreach ( $jourAnglais as $v ) { echo "$v"; // l'élément courant } Il y a une écriture plus compacte pour parcourir le tableau, avec l'instruction foreach foreach passe en revue le tableau : à chaque itération la valeur de l'élément courant est assignée à $v ; à l'itération suivante on accède à l'élément suivant ; au lancement des itérations le premier élément est sélectionné Ou encore : foreach ( $jourAnglais as $k => $v ) { echo "$k : $v"; // clé : valeur de l'élément courant }
7
Accéder au contenu On peut aussi utiliser une boucle while : each() :
Curseur, positionné sur le premier élément et incrémenté par la fonction Retourne une liste de deux valeurs, la paire (clé, résultat) $unite = array ( "pommes" => "kilo", "RAM" => "Mo", "livre" => "pages") ; reset($unite); while ( list($k, $v) = each($unite) ) { echo "$k : $v"; }
8
Accéder au contenu Avec foreach Avec while Ou encore : Ou encore :
$jourAnglais = array("lundi" =>" monday", "mardi" => "tuesday", "mercredi" => "wednesday"); Avec foreach Avec while foreach ( $jourAnglais as $v ) { echo "$v"; } reset($jourAnglais); while (list(, $v) = each ($jourAnglais)) { echo "$v"; } Ou encore : Ou encore : foreach ( $jourAnglais as $k=>$v) { echo "$k : $v"; } reset($jourAnglais); while (list($k, $v) = each ($jourAnglais)) { echo "$k: $v"; }
9
Tri de tableaux Pour tous les tableaux Attention :
sort (array tab) : Tri en ordre croissant rsort (array tab) : Tri en ordre décroissant Attention : Le lien entre index et valeur n’est pas conservé ! Le tri se fait sur les valeurs Les clés initiales du tableau sont réinitialisées selon ce nouveau tri $fruits = array("lemon", "orange", "banana", "apple"); sort($fruits); foreach ($fruits as $key => $val) { echo "fruits[" . $key . "] = " . $val . "\n"; } fruits[0] = apple fruits[1] = banana fruits[2] = lemon fruits[3] = orange
10
Tri de tableau Pour les tableaux associatifs Attention :
asort (array tab) : Tri en ordre croissant arsort (array tab) : Tri en ordre décroissant Attention : Ces fonctions conservent le lien entre clé et valeur Le tri se fait sur les valeurs
11
Tri sur les tableaux Pour les tableaux associatifs seulement
ksort (array tab) : Tri dans l'ordre croissant des clés krsort (array tab) : Tri dans l'ordre décroissant des clés
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.