Les tableaux en PHP¶
Tableaux associatifs - parcours avec boucle foreach:¶
<?php $jours=array("Lu"=>"Lundi","Ma"=>"Mardi", "Me"=>"Mercredi","Je"=>"Jeudi","Ve"=>"Vendredi", "Sa"=>"Samedi","Di"=>"Dimanche" ); foreach($jours as $key=>$val) echo $key." ".$val."<br>\n";
Ce qui donne :
Lu Lundi Ma Mardi Me Mercredi Je Jeudi Ve Vendredi Sa Samedi Di Dimanche
Affichage avec print_r():¶
<?php print_r($jours);
Résultat brut html :¶
Array ( [Lu] => Lundi [Ma] => Mardi [Me] => Mercredi [Je] => Jeudi [Ve] => Vendredi [Sa] => Samedi [Di] => Dimanche )
Essayez vous-même¶
Utilisation de la fonction array_walk:¶
<?php array_walk($jours,'aff_tab'); ?>En ayant défini au préalable :
<?php function aff_tab($val, $key){ echo "$key-$val<br/>\n"; }
On obtient le même résultat qu’avec la boucle foreach
Tri simple d’un tableau:¶
<?php sort($jours); array_walk($jours,'aff_tab');
On obtient :¶
0-Dimanche 1-Jeudi 2-Lundi 3-Mardi 4-Mercredi 5-Samedi 6-Vendredi
C’est à dire que:
Le tableau est trié selon l’ordre de ses valeurs
les clefs sont effacées et réaffectées avec des entiers.
Si on veut préserver également les clefs du tableau associatif, il faut utiliser la méthode suivante :
Tri selon l’ordre naturel avec natsort¶
<?php $jours=array("Lu"=>"Lundi","Ma"=>"Mardi", "Me"=>"Mercredi","Je"=>"Jeudi","Ve"=>"Vendredi", "Sa"=>"Samedi","Di"=>"Dimanche" ); var_dump($jours); natsort($jours); var_dump($jours);
Résultat brut html¶
array(7) { ["Lu"]=> string(5) "Lundi" ["Ma"]=> string(5) "Mardi" ["Me"]=> string(8) "Mercredi" ["Je"]=> string(5) "Jeudi" ["Ve"]=> string(8) "Vendredi" ["Sa"]=> string(6) "Samedi" ["Di"]=> string(8) "Dimanche" } array(7) { ["Di"]=> string(8) "Dimanche" ["Je"]=> string(5) "Jeudi" ["Lu"]=> string(5) "Lundi" ["Ma"]=> string(5) "Mardi" ["Me"]=> string(8) "Mercredi" ["Sa"]=> string(6) "Samedi" ["Ve"]=> string(8) "Vendredi" }
Exécution¶
On peut aussi utiliser la fonction natcasesort() si on ne veut pas se préoccuper de la casse des chaines présentes dans le tableau, soit à peu près l’ordre du dictionnaire …