QCMUP.COM

Liste QCM PHP Corrigé – Partie 5

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM PHP Corrigé – Partie 5 – PHP

Ces QCM portent sur un thème incontournable en PHP et en programmation en général : les boucles.

Savoir répéter correctement un traitement est une compétence fondamentale, car elle intervient partout, que ce soit pour afficher une liste, parcourir des données, traiter un fichier ou construire une logique progressive.

Dans un cadre d’examen ou de concours, on attend souvent de vous que vous compreniez la syntaxe exacte, le rôle du compteur et la manière dont une condition d’arrêt contrôle le flux d’exécution.

Ces questions vous amènent aussi à distinguer les différentes boucles (for, while, do...while, foreach) et à reconnaître les pièges classiques comme la boucle infinie ou l’arrêt prématuré.

En maîtrisant ces bases, vous gagnez en clarté de raisonnement et en précision, deux qualités très appréciées dans tout exercice de programmation.

Ces QCM portent sur un thème incontournable en PHP et en programmation en général : les boucles.

Savoir répéter correctement un traitement est une compétence fondamentale, car elle intervient partout, que ce soit pour afficher une liste, parcourir des données, traiter un fichier ou construire une logique progressive.

Dans un cadre d’examen ou de concours, on attend souvent de vous que vous compreniez la syntaxe exacte, le rôle du compteur et la manière dont une condition d’arrêt contrôle le flux d’exécution.

Ces questions vous amènent aussi à distinguer les différentes boucles (for, while, do...while, foreach) et à reconnaître les pièges classiques comme la boucle infinie ou l’arrêt prématuré.

En maîtrisant ces bases, vous gagnez en clarté de raisonnement et en précision, deux qualités très appréciées dans tout exercice de programmation.

QCM 1 Corrigé

Quelle boucle est généralement privilégiée quand on connaît d'avance le nombre d'itérations à effectuer ?

A. while
B. do...while
C. for
D. foreach
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La boucle 'for' est idéale pour répéter un bloc de code un nombre de fois prédéfini grâce à son compteur intégré.

QCM 2 Corrigé

Quelle est la syntaxe correcte pour une boucle 'while' ?

A. while (condition) { // code }
B. while condition { // code }
C. while (condition) : // code
D. do { // code } while
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
En PHP, la condition de la boucle 'while' doit obligatoirement être entre parenthèses.

QCM 3 Corrigé

Dans une boucle 'for ($i = 0; $i < 10; $i++)', quelle partie gère l'incrémentation du compteur ?

A. $i = 0
B. $i < 10
C. $i++
D. for
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La troisième expression de la boucle 'for' est exécutée à la fin de chaque itération pour mettre à jour le compteur.

QCM 4 Corrigé

Qu'est-ce qu'une 'boucle infinie' ?

A. Une boucle qui s'arrête après 1000 passages
B. Une boucle dont la condition d'arrêt n'est jamais vérifiée
C. Une boucle qui contient une autre boucle
D. Une boucle qui utilise trop de mémoire
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Si la condition reste toujours vraie, le programme ne sort jamais de la boucle, ce qui peut faire planter le serveur.

QCM 5 Corrigé

Combien de fois le code suivant sera-t-il exécuté ? $i = 0; while ($i < 0) { echo 'Bonjour'; $i++; }

A. 0 fois
B. 1 fois
C. 10 fois
D. Indéfiniment
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La condition est testée au début ; comme 0 n'est pas strictement inférieur à 0, le bloc est ignoré.

QCM 6 Corrigé

Quel mot-clé permet de passer immédiatement à l'itération suivante d'une boucle sans finir le code actuel ?

A. stop
B. break
C. exit
D. continue
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
'continue' interrompt l'itération en cours et relance la boucle à l'étape suivante.

QCM 7 Corrigé

Dans une boucle 'for', par quoi sépare-t-on l'initialisation, la condition et l'incrémentation ?

A. Des virgules (,)
B. Des points-virgules (;)
C. Des deux-points (:)
D. Des barres verticales (|)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La structure standard de la boucle for utilise des points-virgules pour délimiter ses trois parties.

QCM 8 Corrigé

Quelle est la principale différence entre 'while' et 'do...while' ?

A. While est plus rapide
B. Do...while s'exécute au moins une fois, même si la condition est fausse
C. While n'accepte pas de variables
D. Il n'y a aucune différence
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Dans 'do...while', la condition est testée à la fin, garantissant un premier passage dans le bloc de code.

QCM 9 Corrigé

Quel opérateur est le plus utilisé pour l'incrémentation dans une boucle ?

A. ++
B. +=
C. +
D. Les réponses 1 et 2 sont valides
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
$i++ et $i += 1 sont deux manières correctes d'augmenter la valeur d'un compteur de 1.

QCM 10 Corrigé

Que fait l'instruction 'break' dans une boucle ?

A. Elle met le script en pause pendant 1 seconde
B. Elle affiche un message d'erreur
C. Elle arrête immédiatement l'exécution de la boucle
D. Elle recommence la boucle au début
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
'break' permet de forcer la sortie d'une boucle avant que la condition principale ne soit remplie.

QCM 11 Corrigé

Quel est le résultat de : for ($i = 1; $i <= 3; $i++) { echo $i; }

A. 123
B. 0123
C. 1, 2, 3
D. 333
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La boucle commence à 1, s'arrête après 3 et affiche chaque valeur collée (echo).

QCM 12 Corrigé

Si on veut décrémenter un compteur de 10 à 0, quelle est la condition correcte ?

A. $i = 10; $i > 0; $i++
B. $i = 10; $i >= 0; $i--
C. $i = 0; $i < 10; $i--
D. $i = 10; $i == 0; $i--
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
On part de 10, on diminue ($i--) et on continue tant que $i est supérieur ou égal à 0.

QCM 13 Corrigé

Lequel de ces codes permet de créer une boucle infinie volontairement ?

A. while (true) { }
B. for (;;) { }
C. while (1) { }
D. Toutes ces réponses sont correctes
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Ces trois syntaxes créent des conditions qui restent perpétuellement vraies.

QCM 14 Corrigé

Dans une boucle 'while', que se passe-t-il si on oublie d'incrémenter le compteur à l'intérieur du bloc ?

A. La boucle s'arrête d'elle-même
B. Le compteur augmente automatiquement
C. On risque de créer une boucle infinie
D. Le code affiche une erreur de syntaxe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Si la variable de contrôle ne change jamais, la condition de sortie ne sera jamais atteinte.

QCM 15 Corrigé

Quelle est la valeur finale de $i après : for ($i = 0; $i < 5; $i++) { } ?

A. 4
B. 5
C. 0
D. 6
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La boucle s'arrête quand $i < 5 devient faux, donc quand $i atteint 5.

QCM 16 Corrigé

Peut-on utiliser une boucle à l'intérieur d'une autre boucle ?

A. Non, c'est interdit
B. Oui, cela s'appelle des boucles imbriquées
C. Seulement si elles sont de types différents
D. Seulement dans des fichiers séparés
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'imbrication est courante, par exemple pour parcourir les lignes et les colonnes d'un tableau.

QCM 17 Corrigé

Que se passe-t-il si on met un point-virgule juste après la parenthèse du for : for(...); { } ?

A. La boucle est considérée comme vide et s'exécute seule
B. Le code suivant est ignoré
C. Le serveur plante
D. Cela n'a aucun impact
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le point-virgule termine l'instruction. La boucle tournera 'dans le vide' avant d'exécuter le bloc suivant une seule fois.

QCM 18 Corrigé

Quelle boucle est la plus adaptée pour lire les lignes d'un fichier tant qu'il n'est pas fini ?

A. while
B. for
C. switch
D. if
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
'while' est idéale quand on ne connaît pas le nombre total d'itérations au départ (lecture de flux).

QCM 19 Corrigé

Quelle instruction est équivalente à $i = $i + 2; ?

A. $i ++ 2
B. $i =+ 2
C. $i += 2
D. $i + 2 = $i
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'opérateur += permet d'ajouter une valeur spécifique à la variable actuelle.

QCM 20 Corrigé

Quel symbole est utilisé pour la syntaxe alternative de la boucle 'while' (souvent en HTML) ?

A. while(...) : ... endwhile;
B. while(...) { ... }
C. while(...) begin ... end
D. while(...) -> ...
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
PHP propose cette syntaxe avec ':' et 'endwhile' pour faciliter l'intégration dans les templates HTML.

QCM 21 Corrigé

Comment s'appelle l'action de diminuer la valeur d'une variable ?

A. L'incrémentation
B. La réduction
C. La décrémentation
D. L'inversion
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La décrémentation (ex: $i--) est l'opération inverse de l'incrémentation.

QCM 22 Corrigé

Dans for ($i = 0; $i < 10; $i++), l'initialisation ($i = 0) est exécutée :

A. À chaque tour de boucle
B. Une seule fois au début
C. Une seule fois à la fin
D. Jamais
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'initialisation ne sert qu'à préparer le compteur avant le premier test de la condition.

QCM 23 Corrigé

Quelle est la sortie de : $i = 5; while($i > 0) { $i--; } echo $i;

A. 5
B. 1
C. 0
D. -1
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La boucle s'arrête dès que $i n'est plus strictement supérieur à 0, donc quand il vaut 0.

QCM 24 Corrigé

Lequel de ces exemples est une boucle correcte en PHP ?

A. repeat { } until
B. foreach($array as $value) { }
C. loop { }
D. for each (item in list)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
foreach est la boucle spécifique de PHP pour parcourir les tableaux.

QCM 25 Corrigé

Que se passe-t-il si la condition d'un 'while' est fausse dès le départ ?

A. Le code à l'intérieur n'est jamais exécuté
B. Le code est exécuté une fois par erreur
C. Le script affiche un avertissement
D. La boucle attend que la condition devienne vraie
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Le test étant effectué à l'entrée, si la condition est fausse, PHP saute directement après le bloc.

QCM 26 Corrigé

Quel est le but premier d'une boucle en programmation ?

A. Rendre le code plus complexe
B. Éviter la répétition manuelle de lignes de code identiques
C. Déclarer des variables
D. Seulement pour les calculs mathématiques
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Les boucles permettent d'automatiser des tâches répétitives, rendant le code plus court et maintenable.

QCM 27 Corrigé

Peut-on utiliser des variables différentes dans les trois sections d'un 'for' ?

A. Oui, mais c'est une mauvaise pratique
B. Non, ce doit être la même variable
C. Seulement des constantes
D. Seulement dans PHP 8
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
C'est techniquement possible mais très déconseillé car cela rend la lecture du code très difficile.

QCM 28 Corrigé

Comment appelle-t-on le fait de sortir d'une boucle prématurément ?

A. L'éjection
B. L'interruption
C. L'erreur de flux
D. Le saut de ligne
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Interrompre une boucle se fait généralement avec l'instruction break lors d'une condition spécifique.

QCM 29 Corrigé

Dans une boucle 'for', que se passe-t-il si on omet la condition du milieu ?

A. Elle s'exécute une fois
B. Elle ne s'exécute jamais
C. Elle est considérée comme toujours vraie (boucle infinie)
D. PHP affiche une erreur de syntaxe
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Si la condition est absente, PHP considère qu'il n'y a pas d'obstacle à la répétition.

QCM 30 Corrigé

Combien de fois le mot 'Loup' sera affiché ? for($i=0; $i<2; $i++) { echo 'Loup'; }

A. 0 fois
B. 1 fois
C. 2 fois
D. 3 fois
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Itération 1 ($i=0), Itération 2 ($i=1). À $i=2, la condition $i<2 est fausse.

Mots & Définitions
Consultez les définitions des termes importants.

Une boucle est une structure qui répète un bloc de code tant qu’une condition est respectée ou jusqu’à atteindre un objectif. Elle sert à automatiser des actions répétitives sans recopier les mêmes lignes. C’est un outil essentiel pour écrire un code plus propre et plus efficace.

La boucle for est particulièrement adaptée quand on connaît à l’avance le nombre de répétitions à effectuer. Elle regroupe généralement l’initialisation, la condition d’arrêt et l’évolution du compteur au même endroit. Cela la rend très lisible pour les parcours “comptés”.

La boucle while répète un bloc de code tant qu’une condition reste vraie. Elle est utile quand on ne connaît pas exactement le nombre d’itérations, mais qu’on dispose d’un critère d’arrêt. Si la condition est fausse dès le départ, le bloc ne s’exécute pas.

La boucle do...while exécute le bloc au moins une fois avant de tester la condition. Elle est pratique quand on veut garantir un premier passage, puis répéter seulement si la condition le permet. C’est une différence importante par rapport à while.

Un compteur est une variable qui évolue à chaque tour de boucle pour contrôler le nombre de passages. Il permet de suivre la progression et de savoir quand s’arrêter. Sans compteur ou sans mise à jour, on risque de perdre le contrôle du flux.

L’initialisation est l’étape où l’on prépare la boucle avant son premier tour, souvent en donnant une valeur de départ au compteur. Dans une boucle for, elle n’est exécutée qu’une seule fois, au début. Elle fixe le point de départ du parcours.

La condition d’arrêt détermine si la boucle doit continuer ou s’arrêter. Tant que cette condition est vraie, le code se répète. Une condition mal définie peut provoquer des résultats incorrects ou des boucles infinies.

L’incrémentation consiste à augmenter la valeur d’une variable, souvent un compteur, à chaque itération. Elle se fait fréquemment avec ++ ou avec +=. C’est un mécanisme courant pour avancer étape par étape dans une boucle.

La décrémentation consiste à diminuer la valeur d’une variable, par exemple pour compter à rebours. On utilise souvent l’opérateur -- ou une forme comme -=. Elle est utile lorsque l’on veut se rapprocher progressivement d’une condition d’arrêt vers le bas.

L’opérateur ++ augmente une variable de 1. Il est très utilisé dans les boucles pour faire avancer un compteur de manière simple et rapide. On le rencontre souvent dans la partie “mise à jour” d’une boucle for.

L’opérateur += ajoute une valeur à une variable et réenregistre le résultat dans cette même variable. Il sert par exemple à avancer un compteur de 2, 5 ou plus d’un coup. Cette écriture est à la fois courte et lisible.

break permet de sortir immédiatement d’une boucle, même si la condition serait encore vraie. Il s’utilise quand on a trouvé ce qu’on cherchait ou qu’un cas particulier impose l’arrêt. C’est un outil puissant, à employer avec logique pour garder un code clair.

continue interrompt l’itération en cours et passe directement à la suivante. Il sert à ignorer une partie du code pour certains cas, tout en laissant la boucle se poursuivre. C’est utile pour filtrer des situations sans alourdir la structure.

Une boucle infinie est une boucle qui ne s’arrête jamais parce que la condition reste toujours vraie ou que le mécanisme d’arrêt ne fonctionne pas. Elle peut bloquer un script ou consommer inutilement des ressources. On peut aussi la créer volontairement, à condition de prévoir une sortie contrôlée.

Des boucles imbriquées sont des boucles placées à l’intérieur d’autres boucles. Elles permettent de parcourir des structures complexes, comme un tableau de tableaux ou une grille. Elles doivent être utilisées avec prudence, car elles peuvent vite augmenter le temps d’exécution.

À propos de ce QCM

Après les QCM, l’idée principale à retenir est que chaque type de boucle répond à un besoin précis.

La boucle for est généralement choisie quand le nombre d’itérations est connu ou facilement calculable, car sa structure regroupe en une ligne l’initialisation du compteur, la condition de continuation et la mise à jour.

La boucle while, elle, convient davantage lorsque la répétition dépend d’un état qui évolue au cours du script, comme la lecture d’un fichier ou l’attente d’une certaine valeur.

La boucle do...while se distingue par un point important : le bloc s’exécute au moins une fois, ce qui est utile lorsqu’une première action doit être effectuée avant tout test.

Un élément central dans toutes ces structures est le contrôle du flux : si on oublie de faire évoluer le compteur ou l’état surveillé, on risque de bloquer le programme dans une boucle infinie.

À l’inverse, des mots-clés comme break et continue permettent de modifier le déroulement normal : break sort complètement de la boucle, tandis que continue saute directement à l’itération suivante.

Il est aussi important de comprendre que certaines syntaxes alternatives existent, surtout dans des contextes où PHP s’entremêle avec du HTML, ce qui améliore la lisibilité des templates.

Enfin, l’imbrication de boucles est une technique fréquente pour traiter des structures de données plus riches, mais elle doit être pensée avec soin pour éviter des traitements trop lourds.

Au final, bien manipuler les boucles, c’est savoir répéter un travail de manière maîtrisée, lisible et sans effets de bord.

Conclusion

En conclusion, ces QCM vous entraînent à comprendre et à sécuriser l’un des mécanismes les plus utilisés en PHP : la répétition contrôlée d’instructions.

En maîtrisant for, while et do...while, ainsi que les notions de compteur, d’incrémentation et de condition d’arrêt, vous évitez les erreurs classiques et vous gagnez en rapidité de résolution.

Pour progresser, il est conseillé de refaire régulièrement des exercices simples : compter, parcourir une liste, filtrer des valeurs et simuler un arrêt avec break ou un saut avec continue.

Avec cette pratique, les boucles deviennent naturelles et vous pourrez ensuite aborder des sujets plus avancés comme la gestion de tableaux, la lecture de fichiers et la logique applicative complète.