Apprendre PHP (4/19) - Structures de contrôle

Dans cette leçon vidéo, l’instructeur explique les structures de contrôle du langage PHP, en commençant par les structures conditionnelles (if, else, if‑else imbriqué, opérateur ternaire) puis les structures itératives (for, while, do‑while, switch‑case). Il montre, à l’aide d’exemples concrets, comment tester la parité d’un nombre, vérifier la divisibilité par 4 ou 2, et comment choisir la bonne structure de boucle pour répéter des actions. Il détaille les différences entre while et do‑while, l’usage du break dans switch, et illustre un cas pratique : générer dynamiquement une liste déroulante HTML de jours du mois avec des boucles PHP, en comparant deux approches – concaténation de chaînes contenant du HTML et séparation claire du code PHP et du HTML. L’ensemble est présenté de façon pédagogique, avec des démonstrations en direct et des explications sur la syntaxe inspirée du C.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon de PHP. Aujourd'hui nous allons traiter les structures de contrôle qui englobent les structures conditionnelles et les structures itératives dites boucles. Notez tout d'abord que la syntaxe des structures de contrôle en PHP sont similaires à celles utilisées en langage C puisque comme j'ai déjà dit, la syntaxe du PHP est fortement inspirée de la syntaxe du langage C. On va commencer par la structure conditionnelle if. Prenons le code suivant. On a initialisé une variable a à la valeur 10 et ensuite on va faire un test sur la parité du nombre. On fera donc quelque chose du genre if a modulo 2 égal à 0, c'est-à-dire si le reste de la division de a par 2 est égal à 0, dans ce cas on va afficher le message paire. Sinon, donc else, on affiche impair. Donc maintenant on exécute le code pour voir le résultat. En faisant ça, donc ça affiche pairement parce que 10 est bel et bien pair. Bon maintenant si je mets la valeur 11 qui est impair, dans ce cas le message change. Je peux faire ce traitement avec l'opérateur ternaire. C'est un opérateur qui permet de simplifier la structure conditionnelle if-else de la manière suivante. Donc l'objectif c'est d'afficher le message soit pair ou bien impair. Alors je vais faire un truc du genre echo. Donc maintenant le message affiché il change en fonction de la condition. La condition c'est est-ce que a est divisible par 2? On met point d'interrogation pour dire que c'est une condition énoncée. Donc maintenant si c'est le cas on affiche paire, sinon qu'on représente avec deux points, on se met impair. Alors on exécute et on a toujours impair. Bon si je change de valeur par exemple le 12, donc ça m'affiche dans ce cas pair. Alors vous avez constaté que l'opérateur ternaire permet de simplifier un petit peu la structure if-else. On peut aussi utiliser des structures conditionnelles imbriquées. Par exemple, imaginez que j'ai toujours a= 12. Maintenant je vais vérifier est-ce que a est divisible par 4, ensuite est-ce qu'il est divisible par 2, ensuite est-ce qu'il n'est pas divisible par 2. Je mettrai donc quelque chose du genre if a% 4== 0, dans ce cas je vais afficher divisible par 4 et par 2. Else, dans ce cas, il y a un autre cas de figure à vérifier, c'est que est-ce que le nombre est divisible seulement par 2? Donc je mettrai else if comme ça attaché. La condition à énoncer c'est a modulo 2 est égal à 0, et dans ce cas j'affiche divisible par 2 seulement. Else, ça veut dire s'il n'est ni divisible par 4 ni par 2, dans ce cas je mettrai echo On n'est pas divisible par 2. Donc maintenant j'exécute pour voir le résultat. Alors ça m'affiche divisible par 4 et par 2. Maintenant si je mets 10, ça m'affiche divisible uniquement par 2. Et si je mets un nombre qui est impair, par exemple 11, dans ce cas ça m'affiche n'est pas divisible par 2. Alors là il s'agit d'une structure if-else imbriquée. Maintenant on va voir les boucles ou bien structures itératives. On va commencer par la structure for. Alors la syntaxe est for et on va annoncer le compteur, par exemple i commençant de 1, i inférieur ou égal à 10, i++. Et on va afficher un message, par exemple echo ligne . Vous avez constaté que j'ai placé la variable au milieu des doubles quotes parce qu'elle sera évaluée. Donc maintenant, pour assurer un retour à la ligne, je vais aussi intégrer la balise \br, donc c'est du HTML. HTML que j'ai intégré dans du PHP et qui sera envoyé au navigateur. Et du coup, il sera exécuté. Donc maintenant, quand j'actualise, ça m'affiche ligne 1, ligne 2 jusqu'à ligne 10. Le même traitement, je peux faire avec la boucle while. Alors dans ce cas, pour la boucle while, ce qu'il faut faire, c'est tout d'abord initialiser le compteur, donc i= 1. Et ensuite, je vais énoncer la condition, donc while i<= 10. Le traitement à faire, je vais le placer entre des accolades parce que j'ai plus d'une ligne dans la structure. Et ici je vais incrémenter i de 1. C'est vraiment la même chose que la structure For mais c'est fait d'une manière différente. Maintenant j'actualise et ça me donne toujours le même résultat. Donc maintenant je change la valeur du compteur, par exemple 5, et ça m'affiche uniquement 5 lignes. Il y a aussi la structure itérative Do While. Dans ce cas, la différence entre While et Do While c'est que Do While il va exécuter la première itération de dans tous les cas, même si la condition énoncée n'est pas vraie. Donc je mettrai ici par exemple do, le traitement à faire c'est par exemple echo ligne i \br et j'incrémente i de 1. La condition c'est while i<= 5. Maintenant si j'exécute, je devrais avoir le même résultat. Alors ça me fait toujours 5 lignes, bon si je mets la valeur 10, Comme ça, donc maintenant ça va m'afficher des lignes. Donc la différence entre while et do-while, c'est que do-while va exécuter la première itération dans tous les cas, même si la condition énoncée n'est pas vraie depuis le début. Par exemple ici la condition, il faut pas que i dépasse 10. Bon, si je mets par exemple i= 20, alors j'ai largement dépassé la valeur 10, la condition n'est pas vraie depuis le début et pourtant j'aurai affiché une ligne. Donc quand j'exécute, ça m'affiche ligne 20. Alors ça c'est la différence entre while et do-while. Il existe aussi la structure sélective ou bien la structure switch case. On va considérer par exemple qu'on a la variable toujours i, qu'on va initialiser à la valeur on va dire par exemple 3. On mettra la syntaxe suivante donc switch, on va évaluer la variable i et en guise de traitement je vais mettre case et je vais vérifier les différents cas de figure. Par exemple 1 et je vais afficher un message du genre Par exemple, echo 1. Bon, c'est comme si je veux représenter les chiffres en mots, donc un, deux, etc. Et je mettrai un break. Maintenant, je vais vérifier le cas deux puis le cas trois et je vais changer de message à chaque fois. Donc ici, c'est deux et là, c'est trois. Et finalement, je vais mettre un traitement par défaut, default. Et je mets ici par exemple echo autre valeur. Donc maintenant quand j'exécute, ça va m'afficher 3. Donc quand je mets ici par exemple 1, ça m'affiche 1. Bon, si je mets quelque chose de différent de 1, de 2 et de 3, dans ce cas ça m'affiche autre valeur. Vous avez constaté que j'ai placé break exactement comme le langage C, c'est pour éviter la propagation dans la structure au cas où il y a une condition qui est vraie. Par exemple, si il vaut 1, alors il suffit d'exécuter cette ligne et sortir directement de la structure sans donner suite aux autres lignes de la même structure. Maintenant nous allons voir un exemple pratique en PHP. Bon, imaginez que je veux créer une liste de sélection comme ça, donc select, on va l'appeler par exemple JDM pour dire jour du mois. Alors vous imaginez que cette liste de sélection contiendra les valeurs de 1 jusqu'à par exemple 31, si on imagine que le mois courant contient 31 jours. On mettra par exemple option, ici c'est la valeur 1, ensuite une deuxième valeur 2, 3, etc. Je vais changer de valeur à chaque fois. Bon, si j'exécute sur navigateur, ce que je vais voir c'est une liste de sélection qui contient 3 valeurs: 1, 2 et 3. Bon, si je veux aller jusqu'à 31, vous imaginez qu'il faut répéter l'option 31 fois. Maintenant avec le PHP, je vais essayer de boucler sur ce traitement. Alors je mettrai ici un code PHP. Je mets for i= 1, i<= 31. J'incrémente le compteur de 1. Ici je vais pas oublier de fermer le script PHP. Et là je mettrai quelque chose du genre par exemple echo option option. Ça veut dire je vais générer du HTML comme étant une chaîne de caractères PHP. Et je mettrai directement ici donc la variable, puisqu'elle sera évaluée à l'intérieur des doubles quotes. Maintenant quand j'exécute, alors j'ai bien une liste qui contient 31 jours. Mais des fois il se peut que vous appliquiez des attributs et d'autres valeurs, par exemple le JavaScript, plein de choses que l'on peut intégrer ici. Du coup vous aurez beaucoup de successions de doubles quotes et de simples quotes, bon ce qui va un petit peu alourdir le code. Alors il est préférable de séparer carrément le HTML. Donc comment on va faire? Il suffit de faire quelque chose comme ça. Bon, là c'est un script PHP, je vais le fermer tout de suite. Et là je vais rouvrir un autre bloc de script comme ça, je vais le mettre tout sur la même ligne. Voilà, donc maintenant ce que j'ai c'est que ce sont 2 blocs de script séparés. Et dedans je mettrai le langage HTML directement parce qu'ici je suis à l'extérieur du délimiteur PHP. Je mets donc option, /option, Et bien sûr là il faut mettre la valeur de la variable i en tant que PHP. Je mettrai donc PHP echo i. Bon, vous avez remarqué que bon, c'est vrai que le code dans ce cas c'est un peu plus lourd qu'avant, mais c'est plus clair parce que j'ai pu séparer le PHP du HTML. Et dans ce cas je peux carrément mettre un code HTML beaucoup plus compliqué que ça, qui contient aussi du CSS et plein d'autres trucs. Et si vous mettez ça dans une chaîne de caractères comme on a fait tout à l'heure, ça serait un peu plus difficile à gérer. Par contre comme ça c'est beaucoup plus simple. Maintenant j'exécute et ça donne la même chose. Bon, je peux changer de valeur, par exemple je vais mettre ici 28 pour dire février et ça m'affiche de 1 jusqu'à 28. Voilà, donc c'est tout avec les structures conditionnelles et itératives. Notez qu'il existe aussi d'autres structures itératives que l'on va voir un peu plus loin, surtout qui s'intéressent aux variables de type tableau. On se contente de ça pour cette séance. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









