exo 3 '; echo 'clé par défaut 0,1,2,...,11.'; echo 'chaque clé est associée à une valeur 0=>janvier, 1=>février,...'; $mois = [ 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre' ]; echo ' on peut afficher le tableau, i.e. chaque clé et sa valeur associée'; foreach($mois as $c => $v){ echo '

cle : ' . $c . ', valeur : ' . $v . '

'. "\n" ; } echo ' on peut trier le tableau selon les valeurs par exemple (ordre alphabétique en l\'occurence)'; asort($mois); foreach($mois as $c => $v){ echo '

cle : ' . $c . ', valeur : ' . $v . '

'. "\n" ; } // CONSEIL : essayer les fonctions de tri asort(), ksort(), rsort(), rasort(), rksort() afin de voir ce que celle donne. echo 'dans le tableau suivant les clés sont les mois, les valeurs le nombre de jours'; $mois2 = [ 'janvier' => 31, 'février' => 28, 'mars' => 31, 'avril' => 30, 'mai' => 31, 'juin' => 30, 'juillet' => 31, 'août' => 31, 'septembre' => 30, 'octobre' => 31, 'novembre' => 30, 'décembre' => 31 ]; foreach($mois2 as $c => $v){ echo '

mois : ' . $c . ', nb jours : ' . $v . '

'. "\n" ; } echo 'on les trie selon les valeurs'; sort($mois); foreach($mois as $c => $v){ echo '

cle : ' . $c . ', valeur : ' . $v . '

'. "\n" ; } echo 'notez que asort() garde les valeurs des clés, alors que sort() les remplace par des valeurs par défaut 0,1,2,3...'; echo '

exo 4

'; $personnes = [ 'mdupond' => ['Prénom' => 'Martin', 'Nom' => 'Dupond', 'Age' => 25, 'Ville' => 'Paris' ], 'jm' => ['Prénom' => 'Jean' , 'Nom' => 'Martin', 'Age' => 20, 'Ville' => 'Villetaneuse'], 'toto' => ['Prénom' => 'Tom' , 'Nom' => 'Tonge' , 'Age' => 18, 'Ville' => 'Epinay' ], 'arn' => ['Prénom' => 'Arnaud', 'Nom' => 'Dupond', 'Age' => 33, 'Ville' => 'Paris' ], 'email' => ['Prénom' => 'Emilie', 'Nom' => 'Ailta' , 'Age' => 46, 'Ville' => 'Villetaneuse'], 'dask' => ['Prénom' => 'Damien', 'Nom' => 'Askier', 'Age' => 7 , 'Ville' => 'Villetaneuse'] ]; echo 'ici on a un tableau où chaque clé est associée à un autre tableau'; foreach($personnes as $c => $v){ echo '

cle : ' . $c . ', valeur : ' . $v . '

'. "\n" ; } echo 'pour accéder à une valeur (un tableau ici) à partir de sa clé, on utilise implode(\',\', \'$montableau\') qui va accoler les éléments de tableau sous la forme d\'une chaine de caractères séparés par , :'."
"; echo implode(',', $personnes['toto']); echo '

accéder à la valeur 33 : '; echo $personnes['arn']['Age'] . '

'. "\n" ; echo '

accéder à la valeur Epinay : '; echo $personnes['arn']['Ville'] . '

'. "\n" ; echo '

accéder au tableau de la clé dask en connaissant les clés : '; echo implode(',', $personnes['dask']) . '

'. "\n" ; echo '

accéder au tableau de la clé dask sans connaître les clés : '; foreach($personnes as $c => $v){ // on parcourt le tableau $personnes // pour chaque valeur, i.e. ici un tableau, on utilise in_array pour chercher une valeur dans le tableau. if (in_array('Damien',$v) && in_array('Askier',$v) && in_array('7',$v) && in_array('Villetaneuse',$v)){ // si on les a toutes dans un tableau, on affiche le tableau echo implode(',', $v) . '

'. "\n" ; } } echo 'pour afficher un tableau en html table/tr/td, cf. openclassroom'; echo 'pour afficher une clé en particulier, on utilise la fonction array_keys :'; foreach($personnes as $c => $v){ echo '

cle : ' . $c . ', la clé 0 : ' . array_keys($v)[0] . '

'. "\n" ; } echo '

exo 5

'; $tabMagazines = [ 'le monde' => ['frequence' => 'quotidien', 'type' => 'actualité', 'prix' => 220], 'le point' => ['frequence' => 'hebdo' , 'type' => 'actualité', 'prix' => 80 ], 'causette' => ['frequence' => 'mensuel' , 'type' => 'féministe', 'prix' => 180], 'politis' => ['frequence' => 'hebdo' , 'type' => 'opinion' , 'prix' => 100], 'le monde diplomatique' => ['frequence' => 'mensuel' , 'type' => 'analyse' , 'prix' => 60 ] ]; echo 'on trie d\'abord le tableau par clé avec ksort(), puis on crée un tableau des clés avec array_keys() que l\'on affiche enfin avec implode() : '; $tabMagazinesAbonne = ['le monde', 'le monde diplomatique']; ksort($tabMagazines); echo implode(', ',array_keys($tabMagazines)); echo '
affichage demandé : '; foreach($tabMagazines as $c => $v){ echo '

cle : ' . $c . ', valeur: (' . implode(', ',$v) . ')

'. "\n" ; } echo 'on va créer une variable abonnement. Ensuite on va parcourir le tableau des magazines auxquels l\'utilisateur est abonné. '; echo 'par la suite, on récupère directement en donnant le nom du magazine comme clé au tableau des prix, et on récupère la valeur de la clé prix. Ensuite on somme.'; $abonnement=0; // on initialise à 0 foreach($tabMagazinesAbonne as $c => $v){ // on parcourt le tableau // pour chaque magazine auquel on est abonné, on récupère le prix dans le tableau des prix. $abonnement+=$tabMagazines[$v]['prix']; } echo '
abonnement total : '.$abonnement; ?>