Les QCM proposés abordent un thème central en PHP : la logique conditionnelle, c’est-à-dire la capacité d’un programme à prendre des décisions.
Dans la plupart des exercices et des évaluations, on attend d’un candidat qu’il sache lire une condition, prévoir le chemin d’exécution, et éviter les pièges liés aux comparaisons ou aux valeurs “fausses” implicites.
Ces notions sont indispensables dès qu’on traite des formulaires, qu’on valide des données, ou qu’on adapte l’affichage d’une page en fonction d’un état.
Vous allez donc travailler la structure if/else/elseif, les opérateurs de comparaison, ainsi que les opérateurs logiques qui permettent de combiner plusieurs tests.
Enfin, la structure switch complète cet apprentissage en offrant une alternative propre lorsque l’on doit gérer plusieurs cas précis.
Les QCM proposés abordent un thème central en PHP : la logique conditionnelle, c’est-à-dire la capacité d’un programme à prendre des décisions.
Dans la plupart des exercices et des évaluations, on attend d’un candidat qu’il sache lire une condition, prévoir le chemin d’exécution, et éviter les pièges liés aux comparaisons ou aux valeurs “fausses” implicites.
Ces notions sont indispensables dès qu’on traite des formulaires, qu’on valide des données, ou qu’on adapte l’affichage d’une page en fonction d’un état.
Vous allez donc travailler la structure if/else/elseif, les opérateurs de comparaison, ainsi que les opérateurs logiques qui permettent de combiner plusieurs tests.
Enfin, la structure switch complète cet apprentissage en offrant une alternative propre lorsque l’on doit gérer plusieurs cas précis.
QCM
1
Corrigé
Quelle est la syntaxe correcte pour une condition 'if' de base en PHP ?
A. if condition { }
B. if (condition) { }
C. if {condition}
D. if [condition] then
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
En PHP, la condition doit impérativement être entourée de parenthèses et le bloc d'instructions de crochets (accolades).
QCM
2
Corrigé
Quel mot-clé est utilisé pour exécuter un bloc de code si la condition du 'if' est fausse ?
A. otherwise
B. except
C. then
D. else
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
L'instruction 'else' définit le chemin alternatif lorsque la condition évaluée est fausse.
QCM
3
Corrigé
Comment vérifier si deux variables $a et $b sont strictement égales (valeur et type) ?
A. $a == $b
B. $a = $b
C. $a === $b
D. $a != $b
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur '===' compare à la fois la valeur et le type de données (ex: 5 n'est pas égal à '5').
QCM
4
Corrigé
Quelle structure est la plus adaptée pour tester une variable par rapport à une liste de plusieurs valeurs précises ?
A. switch
B. for
C. while
D. if simple
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Le 'switch' est plus lisible et performant lorsqu'il s'agit de comparer une même variable à plusieurs cas possibles.
QCM
5
Corrigé
Dans un 'switch', que se passe-t-il si on oublie l'instruction 'break' à la fin d'un cas ?
A. Le script s'arrête immédiatement
B. Le script passe au cas suivant même si la condition ne correspond pas
C. Une erreur de syntaxe est générée
D. Le cas par défaut est ignoré
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Sans 'break', PHP continue l'exécution des instructions dans les blocs 'case' suivants (phénomène de fall-through).
QCM
6
Corrigé
Quel mot-clé est utilisé dans un 'switch' pour gérer les cas non prévus ?
A. else
B. fallback
C. default
D. other
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le bloc 'default' s'exécute si aucune des valeurs des 'case' ne correspond à la variable testée.
QCM
7
Corrigé
Quelle est la syntaxe correcte pour ajouter une condition intermédiaire entre un 'if' et un 'else' ?
A. else if (condition)
B. elseif (condition)
C. Les deux réponses précédentes sont correctes
D. if else (condition)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
PHP accepte aussi bien 'else if' (deux mots) que 'elseif' (un mot) pour les conditions multiples.
QCM
8
Corrigé
Quel opérateur logique représente le 'ET' ?
A. ||
B. &&
C. !
D. OR
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur '&&' (ou 'and') exige que toutes les conditions soient vraies pour valider le bloc.
QCM
9
Corrigé
Que signifie l'opérateur '!=' ?
A. Supérieur ou égal
B. Égal à
C. Identique à
D. Différent de
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
L'opérateur '!=' vérifie que les valeurs de deux variables ne sont pas égales.
QCM
10
Corrigé
Quel est le résultat de : if (0) { echo 'Vrai'; } else { echo 'Faux'; } ?
A. Vrai
B. Faux
C. Rien ne s'affiche
D. Erreur de syntaxe
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
En PHP, le nombre 0 est évalué comme étant 'false' dans un contexte booléen.
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur ternaire permet d'assigner une valeur en fonction d'une condition sur une seule ligne.
QCM
12
Corrigé
Quel symbole est utilisé pour le 'OU' logique ?
A. ||
B. &&
C. @@
D. ++
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur '||' (ou 'or') valide la condition si au moins un des éléments est vrai.
QCM
13
Corrigé
Que renvoie l'expression (true && false) ?
A. true
B. false
C. 1
D. null
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Avec '&&', si l'un des opérandes est 'false', l'ensemble du résultat devient 'false'.
QCM
14
Corrigé
Comment s'écrit la condition 'Si $age est compris entre 18 et 25 inclus' ?
A. if ($age >= 18 && $age <= 25)
B. if (18 <= $age <= 25)
C. if ($age > 18 || $age < 25)
D. if ($age = 18-25)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Il faut tester les deux limites séparément et les lier avec un opérateur 'ET'.
QCM
15
Corrigé
Quel opérateur permet d'inverser un état booléen (vrai devient faux) ?
A. NOT
B. ??
C. !
D. ~
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur '!' (point d'exclamation) est l'opérateur de négation logique.
QCM
16
Corrigé
Quelle est la valeur booléenne d'une chaîne de caractères vide ("") ?
A. true
B. false
C. null
D. Indéterminé
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
En PHP, une chaîne de caractères vide est toujours convertie en 'false'.
QCM
17
Corrigé
Dans un 'switch', peut-on utiliser des opérateurs de comparaison (ex: case > 10) ?
A. Oui, directement
B. Non, les 'case' ne comparent que des valeurs d'égalité simple
C. Seulement avec PHP 4
D. Seulement si on utilise des guillemets
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Le 'switch' compare la valeur d'entrée à celle du case. Pour des comparaisons complexes, il faut utiliser 'if'.
QCM
18
Corrigé
Que fait l'opérateur '??' (fusion nulle) ?
A. Il multiplie deux conditions
B. Il vérifie si une variable est vraie
C. Il renvoie la première valeur si elle existe et n'est pas nulle
D. Il compare deux types de données
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur '??' est un raccourci pour vérifier l'existence d'une donnée (isset).
QCM
19
Corrigé
Quelle condition est vraie si $a est égal à 10 ou si $b est égal à 20 ?
A. if ($a == 10 || $b == 20)
B. if ($a == 10 && $b == 20)
C. if ($a == 10 XOR $b == 20)
D. if ($a != 10 && $b != 20)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur '||' (OU) est utilisé pour satisfaire au moins une des deux conditions.
QCM
20
Corrigé
Comment s'appelle l'erreur produite par if ($a = 10) au lieu de ($a == 10) ?
A. Erreur de syntaxe
B. Erreur de logique (on fait une affectation au lieu d'une comparaison)
C. Erreur de type
D. Erreur de variable
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Le code s'exécutera mais la condition sera toujours vraie car l'affectation de 10 réussira.
QCM
21
Corrigé
Lequel de ces types n'est PAS considéré comme 'false' par une condition if ?
A. La chaîne "0"
B. Une liste vide (array())
C. La valeur NULL
D. Le nombre -1
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
Tous les nombres non nuls (même négatifs) sont considérés comme 'true' en PHP.
QCM
22
Corrigé
Peut-on imbriquer un 'if' à l'intérieur d'un autre 'if' ?
A. Oui, sans limite
B. Non, jamais
C. Seulement si le premier est vrai
D. Seulement dans un switch
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'imbrication permet de tester des conditions successives complexes.
QCM
23
Corrigé
Dans un ternaire : $v = (5 > 2) ? 'Oui' : 'Non'; quelle est la valeur de $v ?
A. 5
B. 2
C. Oui
D. Non
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
La condition 5 > 2 est vraie, donc la première valeur après le '?' est choisie.
QCM
24
Corrigé
Quelle est l'utilité du 'XOR' par rapport au 'OR' ?
A. Il est plus rapide
B. Il exige que les deux conditions soient vraies
C. Il est vrai si une SEULE des deux conditions est vraie
D. Il n'existe pas en PHP
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le 'OU exclusif' (XOR) renvoie faux si les deux conditions sont vraies en même temps.
QCM
25
Corrigé
Que signifie l'opérateur '!==' ?
A. Strictement différent (valeur ou type)
B. Double négation
C. Presque égal
D. Égal ou supérieur
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
C'est la négation de l'opérateur d'identité '===', vérifiant si les éléments diffèrent en valeur ou en type.
QCM
26
Corrigé
Comment vérifier si une variable $var a été définie avant de l'utiliser dans un 'if' ?
A. if (exists $var)
B. if (isset($var))
C. if ($var == true)
D. if (defined $var)
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
La fonction isset() vérifie si une variable est déclarée et si elle n'est pas nulle.
QCM
27
Corrigé
Quelle est la syntaxe alternative du 'if' souvent utilisée dans les templates HTML ?
A. if (cond) : ... endif;
B. if (cond) { ... }
C. if (cond) start ... end
D. if (cond) => ...
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La syntaxe avec ':' et 'endif' est très populaire pour mélanger proprement du PHP et du HTML.
QCM
28
Corrigé
Que se passe-t-il si aucune condition d'un 'switch' n'est remplie et qu'il n'y a pas de 'default' ?
A. Le script plante
B. Le premier cas est exécuté par défaut
C. Rien ne se passe, le script continue après le switch
D. Une erreur fatale est affichée
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le switch ignore simplement le bloc et passe à la suite de l'algorithme.
QCM
29
Corrigé
L'expression (10 >= 10) est :
A. Vraie
B. Fausse
C. Invalide
D. Égale à 0
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur '>=' signifie 'supérieur OU égal'. Ici, 10 est bien égal à 10.
QCM
30
Corrigé
Quel est l'avantage principal d'utiliser des conditions ?
A. Accélérer le serveur
B. Rendre le code plus court
C. Colorer le texte
D. Rendre le programme dynamique et capable de prendre des décisions
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
Sans conditions, un script s'exécute de manière linéaire ; avec elles, il s'adapte aux données.
Mots & Définitions
Consultez les définitions des termes importants.
Une condition est un test logique qui permet au programme de décider quoi faire selon une situation. Elle s’appuie sur une expression qui vaut vrai ou faux. C’est la base pour rendre un script interactif et adaptable.
if est une structure de contrôle qui exécute un bloc de code seulement si une condition est vraie. Elle sert à déclencher des actions en fonction d’un résultat logique. C’est l’une des premières briques de la programmation en PHP.
else permet d’exécuter un bloc alternatif lorsque la condition testée est fausse. Il évite de multiplier les tests et rend le raisonnement plus clair. On l’utilise pour gérer le cas opposé au scénario principal.
elseif (ou else if) ajoute une condition intermédiaire entre if et else. Il sert à tester plusieurs situations possibles dans un ordre logique. Cela permet d’éviter d’empiler plusieurs if séparés moins lisibles.
L’imbrication consiste à placer une condition à l’intérieur d’une autre. Elle permet de gérer des décisions en plusieurs niveaux, comme un arbre de choix. Pour rester lisible, elle doit être utilisée avec méthode et clarté.
Un opérateur de comparaison sert à comparer deux valeurs, par exemple vérifier une égalité ou une différence. Le résultat est toujours un booléen : vrai ou faux. Ils sont indispensables pour construire des conditions fiables.
L’opérateur == compare deux valeurs en cherchant une égalité “souple”. PHP peut convertir les types pour comparer, ce qui peut surprendre dans certains cas. Il est utile, mais demande de comprendre les conversions implicites.
L’opérateur === vérifie à la fois la valeur et le type. Il évite les confusions liées aux conversions automatiques de PHP. C’est un choix plus sûr quand on veut des comparaisons précises.
L’opérateur != permet de tester si deux valeurs sont différentes. Il renvoie vrai lorsque les valeurs ne sont pas égales. Comme pour ==, il peut impliquer des conversions de type selon le contexte.
L’opérateur !== renvoie vrai si les valeurs sont différentes ou si leurs types ne correspondent pas. Il sert à sécuriser les tests en évitant les comparaisons ambiguës. On l’emploie souvent pour vérifier qu’une valeur n’est pas exactement celle attendue.
Les opérateurs logiques permettent de combiner plusieurs conditions dans un même test. Ils rendent possible des règles plus fines, comme exiger deux critères à la fois. Leur résultat est toujours vrai ou faux.
&& signifie que deux conditions doivent être vraies en même temps. Si l’une est fausse, l’ensemble devient faux. C’est très utilisé pour vérifier plusieurs contraintes simultanément.
|| signifie qu’au moins une des conditions doit être vraie. Si les deux sont fausses, le résultat final est faux. Il sert à accepter plusieurs possibilités dans une même règle.
L’opérateur ! inverse un booléen : vrai devient faux, et faux devient vrai. Il est pratique pour tester l’absence d’une condition ou renverser un résultat. Il aide à écrire des tests plus directs et lisibles.
switch est une structure de sélection qui compare une expression à plusieurs valeurs possibles. Elle permet de remplacer une série de tests répétitifs par une structure plus organisée. Elle est idéale quand on a des cas précis à traiter.
À propos de ce QCM
Après les QCM, il faut retenir que la logique conditionnelle repose sur deux compétences clés : formuler des tests corrects et anticiper leurs effets.
Une condition compare des valeurs (par exemple avec ==, !=, >=) et renvoie un booléen, qui pilote l’exécution d’un bloc if.
La précision des comparaisons est un point déterminant : les opérateurs “stricts” (=== et !==) sont souvent préférables, car ils évitent les conversions automatiques pouvant modifier le sens d’un test.
De la même façon, l’affectation (=) ne doit jamais être confondue avec la comparaison (==), car cela conduit à des erreurs de logique difficiles à repérer.
Les opérateurs logiques permettent ensuite de construire des règles réalistes : && impose plusieurs contraintes en même temps, tandis que || accepte plusieurs possibilités.
La négation ! est utile pour inverser un test et exprimer clairement une condition inverse.
Un autre aspect important concerne les valeurs évaluées comme “false” : certaines valeurs semblent vraies à l’œil, mais sont considérées fausses par PHP dans un if, ce qui peut changer le résultat attendu.
Enfin, switch est particulièrement adapté lorsqu’on compare une même variable à une liste de valeurs exactes.
Il exige une organisation rigoureuse : le break évite l’enchaînement involontaire de plusieurs cas, et default sert à gérer les situations non prévues.
En maîtrisant ces mécanismes, vous développez une compréhension fine du flux d’exécution, un meilleur sens du débogage, et une réelle autonomie pour écrire des scripts qui réagissent correctement aux données et aux scénarios.
Conclusion
En conclusion, ces QCM renforcent les bases indispensables pour écrire du PHP “intelligent”, capable de décider, filtrer et orienter l’exécution selon les cas.
En vous entraînant sur les comparaisons, les opérateurs logiques et les structures if et switch, vous apprenez à raisonner comme un développeur : prévoir les chemins possibles, sécuriser les tests et éviter les erreurs de logique.
Pour progresser durablement, l’idéal est de refaire régulièrement ces exercices et de les compléter par de petits scripts concrets, où vous combinez plusieurs conditions et observez clairement le résultat.
Cette pratique consolide les automatismes et prépare efficacement aux évaluations comme aux projets réels.