Ces QCM vous entraînent sur un socle indispensable en PHP : les opérateurs et l’évaluation des expressions.
Additionner, diviser, comparer, tester une condition ou concaténer une chaîne paraît simple, mais le résultat dépend de la priorité des opérateurs et du type réel des valeurs.
Dans un script, une nuance entre comparaison « souple » et comparaison « stricte » peut modifier une validation, un filtrage ou une règle métier, parfois sans aucun message d’erreur.
Vous verrez pourquoi les parenthèses sont un réflexe de sécurité, et comment anticiper des cas sensibles comme la division par zéro ou les affectations enchaînées.
Vous travaillerez aussi les opérateurs logiques (ET, OU, NON, XOR), l’incrémentation et la décrémentation, ainsi que des outils modernes comme la fusion nulle et l’opérateur vaisseau spatial.
L’objectif est de rendre vos calculs prévisibles, vos conditions lisibles et vos décisions de code plus sûres, comme on l’exige dans les examens, les concours et le développement professionnel au quotidien.
Ces QCM vous entraînent sur un socle indispensable en PHP : les opérateurs et l’évaluation des expressions.
Additionner, diviser, comparer, tester une condition ou concaténer une chaîne paraît simple, mais le résultat dépend de la priorité des opérateurs et du type réel des valeurs.
Dans un script, une nuance entre comparaison « souple » et comparaison « stricte » peut modifier une validation, un filtrage ou une règle métier, parfois sans aucun message d’erreur.
Vous verrez pourquoi les parenthèses sont un réflexe de sécurité, et comment anticiper des cas sensibles comme la division par zéro ou les affectations enchaînées.
Vous travaillerez aussi les opérateurs logiques (ET, OU, NON, XOR), l’incrémentation et la décrémentation, ainsi que des outils modernes comme la fusion nulle et l’opérateur vaisseau spatial.
L’objectif est de rendre vos calculs prévisibles, vos conditions lisibles et vos décisions de code plus sûres, comme on l’exige dans les examens, les concours et le développement professionnel au quotidien.
QCM
1
Corrigé
Quel opérateur est utilisé pour calculer le reste d'une division entière (le modulo) ?
A. /
B. #
C. %
D. mod
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur % (modulo) permet de récupérer le reste d'une division, très utile pour vérifier la parité d'un nombre.
QCM
2
Corrigé
Quel est le résultat de l'expression suivante : 10 + 5 * 2 ?
A. 30
B. 20
C. 15
D. 25
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
PHP respecte la priorité des opérateurs : la multiplication est effectuée avant l'addition (5 * 2 = 10, puis 10 + 10 = 20).
QCM
3
Corrigé
Quel opérateur de comparaison vérifie si deux valeurs sont égales ET du même type ?
A. ==
B. =
C. ===
D. equal
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur d'identité (===) vérifie à la fois la valeur et le type de donnée (ex: 5 === '5' est faux).
QCM
4
Corrigé
Quel symbole représente l'opérateur logique 'OU' (OR) ?
A. &&
B. ||
C. !
D. ++
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur || (double barre verticale) renvoie vrai si au moins l'une des conditions est vraie.
QCM
5
Corrigé
Comment écrit-on l'opérateur de puissance (ex: 2 au cube) depuis PHP 5.6 ?
A. ^
B. pow
C. **
D. exp
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur ** est le raccourci moderne pour calculer des puissances en PHP.
QCM
6
Corrigé
Que fait l'opérateur d'incrémentation '++$x' ?
A. Il ajoute 1 à $x et retourne la nouvelle valeur
B. Il multiplie $x par 2
C. Il retourne $x puis ajoute 1
D. Il vérifie si $x est positif
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La pré-incrémentation (++ devant la variable) modifie la valeur avant de l'utiliser dans l'expression.
QCM
7
Corrigé
Quelle est la valeur de $a après : $a = 10; $a += 5; ?
A. 5
B. 10
C. 15
D. 50
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur combiné += ajoute la valeur de droite à la variable de gauche.
QCM
8
Corrigé
Quel opérateur logique renvoie vrai seulement si les deux conditions sont vraies ?
A. ||
B. &&
C. XOR
D. !=
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur && (ET) nécessite que toutes les conditions soient validées pour retourner true.
QCM
9
Corrigé
Quel symbole signifie 'différent de' en PHP ?
A. <>
B. ==
C. ===
D. !!
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur <> (ou !=) permet de vérifier que deux valeurs ne sont pas égales.
QCM
10
Corrigé
Quel est le résultat de : (true XOR true) ?
A. true
B. false
C. 1
D. null
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Le XOR (OU exclusif) est vrai si une seule des deux conditions est vraie, mais faux si les deux le sont.
QCM
11
Corrigé
L'opérateur '!' placé devant une condition sert à :
A. Confirmer la condition
B. Multiplier la condition
C. Inverser le résultat (NON logique)
D. Indiquer une erreur
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur de négation (!) transforme un true en false et vice versa.
QCM
12
Corrigé
Que renvoie l'expression : 10 == '10' ?
A. false
B. null
C. Erreur
D. true
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
L'égalité simple (==) convertit les types pour comparer uniquement les valeurs.
QCM
13
Corrigé
Comment écrit-on 'strictement supérieur' en PHP ?
A. >>
B. >=
C. >
D. =>
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Le symbole > est utilisé pour vérifier qu'une valeur est strictement plus grande qu'une autre.
QCM
14
Corrigé
Quel opérateur permet de concaténer deux chaînes tout en les assignant (ex: $txt .= ' suite') ?
A. +=
B. .=
C. &=
D. ++
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur .= ajoute le texte de droite à la fin de la variable existante.
QCM
15
Corrigé
Quel est le résultat de 7 / 2 en PHP ?
A. 3
B. 4
C. 3.5
D. 3,5
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Contrairement à certains langages, la division avec / produit un flottant si le résultat n'est pas entier.
QCM
16
Corrigé
Quel opérateur est appelé 'opérateur de fusion nulle' depuis PHP 7 ?
A. ?:
B. ??
C. ?
D. !!
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur ?? renvoie la première valeur si elle existe et n'est pas nulle, sinon la seconde.
QCM
17
Corrigé
Dans quel ordre sont évalués les opérateurs dans : $x = 5 + 2 * 10 ?
A. De gauche à droite
B. L'addition d'abord
C. La multiplication d'abord
D. Aléatoirement
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
La multiplication a une priorité (prééminence) plus élevée que l'addition.
QCM
18
Corrigé
Que fait l'opérateur de décrémentation '$x--' ?
A. Soustrait 1 après avoir utilisé $x
B. Soustrait 1 avant d'utiliser $x
C. Divise $x par 1
D. Met $x à zéro
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
La post-décrémentation retourne d'abord la valeur actuelle, puis diminue la variable de 1.
QCM
19
Corrigé
Lequel de ces opérateurs a la plus basse priorité ?
A. *
B. &&
C. =
D. +
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'affectation (=) est presque toujours effectuée en dernier, une fois les calculs terminés.
QCM
20
Corrigé
Que signifie l'opérateur '!==' ?
A. Pas égal ou pas du même type
B. Égal mais pas du même type
C. Pas égal mais du même type
D. Inversion de l'égalité
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
C'est la négation stricte de l'opérateur d'identité (===).
QCM
21
Corrigé
Quel est le résultat de : (false || true) ?
A. false
B. null
C. 0
D. true
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
Avec l'opérateur OU (||), il suffit d'un seul true pour que tout le résultat soit true.
QCM
22
Corrigé
Comment forcer la priorité d'une addition sur une multiplication ?
A. En utilisant des crochets []
B. En utilisant des parenthèses ()
C. En mettant des espaces
D. En écrivant sur deux lignes
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Comme en mathématiques, les parenthèses permettent de définir l'ordre de calcul souhaité.
QCM
23
Corrigé
Que fait l'opérateur $a **= 2; ?
A. Multiplie $a par 2
B. Divise $a par 2
C. Élève $a au carré et stocke le résultat
D. Ajoute 2 étoiles à la chaîne $a
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
C'est l'opérateur d'affectation combiné pour l'exponentiation (puissance).
QCM
24
Corrigé
Que renvoie (10 <=> 5) avec l'opérateur 'vaisseau spatial' ?
A. 0
B. 1
C. -1
D. true
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur <=> retourne 1 si la gauche est plus grande, -1 si la droite l'est, et 0 si elles sont égales.
QCM
25
Corrigé
L'opérateur 'and' est-il identique à '&&' ?
A. Oui, exactement
B. Non, 'and' a une priorité plus faible
C. Non, 'and' n'existe pas en PHP
D. Oui, mais seulement pour les nombres
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Bien que faisant la même opération logique, leur niveau de priorité dans une expression diffère.
QCM
26
Corrigé
Quel est le résultat de : 10 % 3 ?
A. 3
B. 0
C. 0.33
D. 1
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
10 divisé par 3 égale 3, et il reste 1. Le modulo retourne ce reste (1).
QCM
27
Corrigé
L'expression (5 <= 5) renvoie :
A. true
B. false
C. 5
D. null
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur <= vérifie si la valeur est 'inférieure OU égale'. Ici, elles sont égales, donc true.
QCM
28
Corrigé
Que se passe-t-il si on utilise l'opérateur / avec 0 (ex: 5 / 0) ?
A. Le résultat est 0
B. Le résultat est l'infini
C. Une erreur fatale ou une exception est levée
D. Le script s'arrête sans message
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
La division par zéro est impossible et génère une erreur (DivisionByZeroError) en PHP.
QCM
29
Corrigé
L'opérateur de comparaison '!=' signifie :
A. Strictement égal
B. N'est pas égal
C. N'est pas du même type
D. Est supérieur
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
L'opérateur != (ou <>) teste l'inégalité des valeurs après conversion de type.
QCM
30
Corrigé
Quel est l'opérateur utilisé pour inverser le signe d'un nombre (ex: transformer 5 en -5) ?
A. L'opérateur de négation !
B. L'opérateur moins binaire -
C. L'opérateur moins unaire -
D. L'opérateur de soustraction
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur unaire '-' placé devant une seule valeur inverse son signe mathématique.
Mots & Définitions
Consultez les définitions des termes importants.
Le modulo calcule le reste d’une division entière. Il est très utile pour vérifier une divisibilité, alterner des actions (pair/impair) ou gérer des cycles. Par exemple, il permet de savoir ce qu’il “reste” après un partage en parts égales.
La priorité des opérateurs détermine l’ordre dans lequel PHP évalue une expression. Certains calculs (comme la multiplication) passent avant d’autres (comme l’addition), même si l’expression est écrite de gauche à droite. La connaître évite des résultats surprenants.
Les parenthèses servent à imposer un ordre d’évaluation clair dans une expression. Elles permettent de regrouper des opérations et de rendre l’intention du code explicite. C’est un réflexe simple qui sécurise les calculs et les conditions.
La division produit un résultat numérique qui peut être décimal selon les valeurs. Elle doit être utilisée avec prudence, notamment quand le diviseur peut valoir zéro. En PHP, diviser par zéro déclenche une erreur ou une exception selon le contexte.
L’opérateur de puissance élève un nombre à une autre valeur (exposant). Il permet d’écrire des calculs de type carré, cube ou puissance n de manière lisible. Il est pratique pour des formules mathématiques et des calculs d’échelle.
L’affectation sert à stocker une valeur dans une variable. Elle ne compare pas : elle “donne” une valeur à la variable. Une bonne distinction entre affectation et comparaison évite des erreurs logiques fréquentes.
Les affectations composées combinent une opération et une affectation en une seule écriture. Elles simplifient le code en évitant de répéter la variable. On les utilise pour additionner, concaténer ou mettre à jour une valeur de façon compacte.
La concaténation assemble deux chaînes de caractères pour n’en former qu’une seule. Elle sert à construire des messages, des chemins, ou des textes dynamiques. En PHP, elle se fait avec le point, pas avec le plus.
La comparaison souple teste l’égalité en autorisant des conversions automatiques de type. Elle peut considérer deux valeurs équivalentes même si elles n’ont pas le même type (nombre, chaîne, etc.). Elle est pratique, mais peut être risquée si on attend une vérification stricte.
La comparaison stricte vérifie à la fois l’égalité de valeur et l’égalité de type. Elle évite les ambiguïtés liées aux conversions implicites. C’est souvent la meilleure option pour des contrôles fiables et sécurisés.
Les opérateurs d’inégalité servent à vérifier que deux valeurs ne sont pas égales. Les versions “strictes” ajoutent la contrainte de type, ce qui renforce la fiabilité du test. Bien les choisir évite des conditions qui passent à tort.
L’opérateur ET renvoie vrai uniquement si toutes les conditions sont vraies. Il sert à imposer plusieurs exigences simultanées, comme une double validation. Si une condition échoue, le résultat global devient faux.
L’opérateur OU renvoie vrai dès qu’au moins une condition est vraie. Il permet d’accepter plusieurs possibilités, comme des cas alternatifs. C’est un outil central pour écrire des règles de décision flexibles.
La négation inverse le résultat d’une condition : vrai devient faux, et faux devient vrai. Elle est utile pour exprimer simplement l’absence, le refus ou une condition non satisfaite. Elle se place directement devant l’expression à inverser.
La fusion nulle permet de fournir une valeur par défaut si une variable est inexistante ou vaut null. Elle simplifie la gestion des cas où une donnée peut manquer. C’est une écriture claire pour sécuriser des accès et éviter des tests répétitifs.
À propos de ce QCM
Au cœur de cette série, on retrouve d’abord les opérateurs arithmétiques : addition, multiplication, division, modulo et puissance.
Ils servent autant aux calculs simples qu’aux formules plus riches, à condition de maîtriser la priorité : une multiplication se fait avant une addition, et les parenthèses permettent de forcer l’ordre voulu.
Cette compétence évite des résultats inattendus et rend le code plus explicite, notamment dans les expressions longues ou les affectations combinées (comme ajouter, concaténer ou élever une variable à une puissance en une seule instruction).\n\nLa deuxième famille concerne les comparaisons.
En PHP, comparer deux valeurs peut se faire de manière « souple » (égalité avec conversion implicite) ou « stricte » (égalité et même type).
Comprendre cette différence est essentiel pour valider des entrées utilisateur, comparer des identifiants, ou sécuriser des conditions.
Les opérateurs d’inégalité, de supériorité et leurs variantes strictes complètent cet ensemble, et l’opérateur vaisseau spatial fournit une comparaison synthétique très utile pour trier.\n\nViennent ensuite les opérateurs logiques, qui combinent plusieurs tests : ET, OU, NON, XOR, ainsi que la variante textuelle « and ».
Leur priorité peut surprendre et doit être connue pour écrire des conditions fiables.
Les notions de pré-incrémentation et de post-décrémentation permettent, elles, de contrôler précisément le moment où la variable change, ce qui compte dans des boucles ou lors de calculs successifs.\n\nEnfin, la fusion nulle offre une façon claire de définir une valeur par défaut quand une variable n’est pas définie ou vaut null.
À travers ces QCM, vous développez des réflexes de lecture d’expressions, d’anticipation des cas limites (comme la division par zéro) et de rédaction de conditions nettes, autant pour l’auto-évaluation que pour une préparation sérieuse aux examens.
Conclusion
Maîtriser les opérateurs PHP, c’est gagner en précision et en confiance dans tout le reste du langage.
En comprenant l’ordre d’évaluation, les comparaisons strictes, et la logique des conditions, vous évitez les pièges classiques et vous écrivez un code plus lisible.
Ces QCM vous aident à automatiser les bons réflexes : poser des parenthèses quand c’est nécessaire, choisir le bon opérateur, et vérifier les cas limites avant qu’ils ne deviennent des bugs.
En vous entraînant régulièrement, vous consoliderez des bases solides, directement réutilisables en devoir, en concours et en projet.