Exercice PHP 8 - TD Numéro 1
#1
Objectifs du TD
- Trouver la meilleure fonction dans le manuel PHP pour traiter une chaîne au format json.
- Parcourir un tableau.
- Utiliser echo.
- Utiliser la substitution de variable dans une chaîne.
#2
Sujet
Je vous donne une chaîne de caractères $json
qui contient des données au format json. Ces données contiennent les informations pour afficher 3 lignes de HTML dans un navigateur. Vous avez, pour chaque ligne, le nom de la balise HTML (* h1,h2,p), accompagnée de son contenu.
Je vous demande :
- De trouver la meilleure fonction PHP qui permette de récupérer les informations qui se trouvent dans la chaîne
$json
et de les mettre dans un tableau. - De faire ce qu'il faut pour afficher le HTML dans le navigateur.

Ci-dessous, vous avez le code d'une structure minimale HTML avec des balises PHP. Entre ces balises PHP, j'ai déclaré la chaîne $json
. Le mieux, c'est de copier-coller ce code pour démarrer.
#3
Solution pas à pas
- Alors, vous allez peut-être trouver ça superflu mais... Je vous ai dit que cette chaîne était au format json. OK ! Alors la première chose qu'un codeur doit faire c'est de vérifier ce qu'on lui dit et ce qu'on lui donne !! Sans prétention. Perso, je me trompe, je suis étourdi ! Hé oui 🙃. Alors d'autres peuvent se tromper aussi. Donc, je vérifie. Je cherche avec les mots clés
json check
et je trouve cette page https://jsonlint.com/. Là, je copie et je colle la chaîne et je vérifie qu'elle est OK 😀. - Maintenant, même si vous ne connaissez pas json, la logique veut que vous tapiez les mots clés
php json
sur Google. Là, vous choisissez la page de la documentation php officielle qui correspond à cette recherche php json. - Au milieu de la page (* en haut à droite, vous pouvez la passer en français si besoin) vous avez un lien vers la fonction json_decode qui a la description suivante : "Décode une chaîne JSON". C'est logique d'aller voir ce que fait cette fonction, tranquille 😎.
- A la lecture de la page, vous voyez, que cette fonction récupère une chaîne encodée JSON et la convertit, que cette fonction peut vous retourner soit un objet, soit un tableau associatif. Compte tenu du contexte du TD, on va choisir tableau associatif. On mettra donc le deuxième paramètre à
true
.Résultat de l'exécution en PHP 8.2.1 -
A ce stade, que vous vient-il à l'esprit ? Vous vous dites, maintenant, j'ai un tableau, et après ? Me voilà bien avancé ! Mais qu'est-ce que je vais faire avec un tableau ? Eh bien, vous pouvez le parcourir ! On a vu, que l'on pouvait faire ça, avec
foreach
. Ensuite, à chaque tour de boucle, il suffit de faire un echo, pour produire le HTML demandé. Et ce sera gagné !! 😤Résultat de l'exécution en PHP 8.2.1
#4
Conclusion
Maintenant pour vous convaincre de la nécessité de vérifier la chaîne $json
. Après le "Bonjour à toutes et à tous" je remplace la virgule par un point-virgule. Donc, je crée une erreur 😊. J'exécute. Si vous lisez le message d'erreur, vous pourriez croire que le problème se situe au niveau du foreach
(* encore que l'on vous dit que le pb est sur les arguments). Mais vous pourriez perdre du temps. J'espère que je vous ai convaincu.
Conseils : Vérifiez souvent et si vous travaillez avec git faites souvent de petits commit.
