Maîtriser les bases de PHP, c’est apprendre à écrire des scripts fiables, lisibles et capables de réagir correctement aux données.
Cette page d’entraînement vous plonge au cœur des mécanismes indispensables : manipulation des variables, opérations sur les chaînes de caractères, comparaison de valeurs, parcours de tableaux et gestion du flux d’exécution.
Ce socle revient très souvent dans les examens, les concours et les premiers projets web, car il conditionne tout le reste : validation d’entrées, génération de pages dynamiques, organisation du code en fichiers réutilisables et traitement de requêtes.
Vous travaillerez également des réflexes précieux pour éviter les erreurs courantes, comprendre la logique d’un script, et sécuriser l’affichage de données provenant de l’utilisateur.
L’objectif est simple : progresser avec méthode, gagner en précision, et acquérir les automatismes attendus d’un développeur PHP sérieux.
Maîtriser les bases de PHP, c’est apprendre à écrire des scripts fiables, lisibles et capables de réagir correctement aux données.
Cette page d’entraînement vous plonge au cœur des mécanismes indispensables : manipulation des variables, opérations sur les chaînes de caractères, comparaison de valeurs, parcours de tableaux et gestion du flux d’exécution.
Ce socle revient très souvent dans les examens, les concours et les premiers projets web, car il conditionne tout le reste : validation d’entrées, génération de pages dynamiques, organisation du code en fichiers réutilisables et traitement de requêtes.
Vous travaillerez également des réflexes précieux pour éviter les erreurs courantes, comprendre la logique d’un script, et sécuriser l’affichage de données provenant de l’utilisateur.
L’objectif est simple : progresser avec méthode, gagner en précision, et acquérir les automatismes attendus d’un développeur PHP sérieux.
QCM
1
Corrigé
Quel symbole précède toujours le nom d'une variable en PHP ?
A. &
B. #
C. $
D. @
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
Toutes les variables en PHP commencent par le caractère dollar ($).
QCM
2
Corrigé
Quelle fonction permet de vérifier si une variable existe et n'est pas NULL ?
A. empty()
B. isset()
C. exists()
D. is_null()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
isset() retourne true si la variable est déclarée et contient une valeur autre que NULL.
QCM
3
Corrigé
Lequel de ces opérateurs est utilisé pour la concaténation de chaînes ?
A. +
B. &
C. ->
D. .
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
En PHP, le point (.) sert à assembler deux chaînes de caractères.
QCM
4
Corrigé
Comment termine-t-on obligatoirement une instruction en PHP ?
A. ;
B. .
C. :
D. !
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Le point-virgule (;) marque la fin de chaque instruction pour l'interpréteur PHP.
QCM
5
Corrigé
Quelle est la différence entre l'opérateur == et l'opérateur === ?
A. == compare la valeur et le type, === uniquement la valeur
B. === compare la valeur et le type, == uniquement la valeur
C. Il n'y a aucune différence entre les deux
D. === est utilisé pour les calculs mathématiques uniquement
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
=== est l'opérateur d'identité stricte (valeur ET type).
QCM
6
Corrigé
Quelle boucle est spécifiquement conçue pour parcourir un tableau ?
A. while
B. for
C. foreach
D. do...while
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
foreach permet de parcourir facilement chaque élément d'un tableau sans compteur manuel.
QCM
7
Corrigé
Que signifie l'acronyme PHP ?
A. Personal Home Page
B. Private Hypertext Processor
C. Programming Hypertext Pages
D. PHP: Hypertext Preprocessor
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
C'est un acronyme récursif signifiant PHP: Hypertext Preprocessor.
QCM
8
Corrigé
Quelle superglobale contient les données envoyées via l'URL (méthode GET) ?
A. $_POST
B. $_URL
C. $_GET
D. $_REQUEST
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
$_GET est un tableau associatif collectant les paramètres de l'URL.
QCM
9
Corrigé
Quelle fonction permet d'inclure un fichier tout en arrêtant le script si celui-ci est absent ?
A. include
B. require
C. import
D. load
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
Contrairement à include, require génère une erreur fatale et stoppe le script si le fichier manque.
QCM
10
Corrigé
Comment déclare-t-on un tableau en syntaxe courte (PHP 5.4+) ?
A. $t = array();
B. $t = {};
C. $t = ();
D. $t = [];
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
Les crochets [] sont la méthode moderne et rapide pour créer un tableau.
QCM
11
Corrigé
Quel mot-clé est utilisé dans un switch pour gérer les cas non prévus ?
A. default
B. else
C. other
D. fallback
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Le bloc default s'exécute si aucune correspondance avec les 'case' n'a été trouvée.
QCM
12
Corrigé
Comment écrit-on 'pas égal' en PHP ?
A. <>
B. !=
C. not =
D. ==!
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
!= (ou !== pour l'inégalité stricte) vérifie que deux valeurs sont différentes.
QCM
13
Corrigé
Quelle fonction permet de supprimer les balises HTML d'une chaîne ?
A. clean_html()
B. strip_tags()
C. remove_html()
D. htmlspecialchars()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
strip_tags() retire toutes les balises HTML et PHP d'une chaîne de caractères.
QCM
14
Corrigé
Dans quel tableau superglobal trouve-t-on les informations d'un fichier uploadé ?
A. $_POST
B. $_DATA
C. $_FILES
D. $_UPLOADS
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
$_FILES stocke le nom, le type, la taille et l'emplacement temporaire des fichiers reçus.
QCM
15
Corrigé
Que fait l'instruction 'break' ?
A. Elle met en pause le script pendant une seconde
B. Elle sort immédiatement d'une boucle ou d'un switch
C. Elle affiche un message d'erreur personnalisé
D. Elle réinitialise les variables du script
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
break permet d'interrompre l'exécution de la structure itérative ou conditionnelle en cours.
QCM
16
Corrigé
Quelle est la valeur de $x après : $x = 5; $x++; ?
A. 5
B. 4
C. 6
D. NULL
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'opérateur ++ incrémente la valeur de la variable de 1.
QCM
17
Corrigé
Quelle fonction permet de rediriger un utilisateur vers une autre page ?
A. redirect()
B. go_to()
C. location()
D. header()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
On utilise header('Location: url.php'); pour envoyer une instruction de redirection.
QCM
18
Corrigé
Quel est le résultat de : echo 10 % 3 ?
A. 1
B. 3
C. 3.33
D. 0
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
L'opérateur % (modulo) donne le reste de la division entière (10 = 3*3 + 1).
QCM
19
Corrigé
Quelle fonction transforme un tableau en chaîne de caractères ?
A. explode()
B. implode()
C. str_split()
D. json_encode()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
implode() rassemble les éléments d'un tableau en utilisant un séparateur.
QCM
20
Corrigé
Comment accède-t-on au troisième élément du tableau $fruits = ['A', 'B', 'C'] ?
A. $fruits[3]
B. $fruits{2}
C. $fruits[2]
D. $fruits.2
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
L'indexation commençant à 0, le 3ème élément est à l'index 2.
QCM
21
Corrigé
Lequel de ces commentaires est valide en PHP ?
A. // Commentaire
B. /* Commentaire */
C. # Commentaire
D. Toutes ces réponses sont correctes
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
PHP accepte les commentaires de type C, C++ et Shell.
QCM
22
Corrigé
Quelle fonction permet de supprimer une variable ou une clé de tableau ?
A. unset()
B. delete()
C. remove()
D. clear()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
unset() détruit la variable passée en argument.
QCM
23
Corrigé
Quelle superglobale contient les informations sur les sessions ?
A. $_USER
B. $_SESSION
C. $_COOKIE
D. $_SERVER
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
$_SESSION permet de stocker des données persistantes entre plusieurs pages.
QCM
24
Corrigé
Comment déclare-t-on une constante en PHP ?
A. const NOM = 'valeur';
B. define('NOM', 'valeur');
C. $NOM = 'valeur' (static);
D. Les réponses 1 et 2 sont correctes
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
D
Justification :
On peut utiliser 'const' (pour les classes ou global) ou la fonction 'define'.
QCM
25
Corrigé
Que signifie l'opérateur '!=' ?
A. Égal à
B. Identique à
C. Différent de
D. Supérieur à
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
C'est l'opérateur de comparaison pour tester la non-égalité.
QCM
26
Corrigé
Quelle balise PHP est la plus couramment utilisée ?
A. <? ... ?>
B. <script ...>
C. <?php ... ?>
D. <% ... %>
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
C
Justification :
<?php ... ?> est la balise standard recommandée pour assurer la compatibilité.
QCM
27
Corrigé
Quelle fonction permet de compter le nombre d'éléments dans un tableau ?
A. count()
B. length()
C. size()
D. total()
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
count() est la fonction intégrée pour obtenir la taille d'un tableau.
QCM
28
Corrigé
Comment concaténer et assigner une valeur simultanément à une variable ?
A. +=
B. .=
C. =&
D. ..
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
B
Justification :
$a .= $b est l'équivalent de $a = $a . $b.
QCM
29
Corrigé
Laquelle de ces syntaxes est un opérateur ternaire valide ?
A. condition ? vrai : faux
B. if (condition) ? vrai
C. condition : vrai ? faux
D. condition ?? vrai
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Le ternaire est une forme contractée du if/else utilisant '?' et ':'.
QCM
30
Corrigé
Quel est le rôle de la fonction htmlspecialchars() ?
A. Convertir les caractères spéciaux en entités HTML
B. Vérifier si un mot est en majuscule
C. Générer un mot de passe sécurisé
D. Compresser le code HTML
Afficher la réponse
Cliquez pour voir la correction
Réponse correcte :
A
Justification :
Elle empêche les injections XSS en neutralisant les caractères comme '<' ou '>'.
Mots & Définitions
Consultez les définitions des termes importants.
Une variable est un conteneur qui stocke une valeur (texte, nombre, tableau, etc.) pour la réutiliser dans le script. Elle peut changer de contenu au cours de l’exécution. En PHP, son nom est toujours précédé d’un symbole spécifique.
Le symbole $ est obligatoire devant le nom d’une variable en PHP. Il permet au langage d’identifier qu’on manipule une variable et non un mot-clé ou un texte. Sans ce symbole, le code n’est pas interprété correctement.
isset() permet de vérifier si une variable (ou une clé de tableau) existe et n’est pas NULL. Elle est très utile avant d’accéder à une donnée provenant d’un formulaire ou d’une requête. Cela évite des avertissements et rend le code plus robuste.
La concaténation consiste à assembler plusieurs chaînes de caractères pour en former une seule. En PHP, on utilise le point (.) pour coller du texte et des variables. C’est indispensable pour construire des messages ou générer du contenu dynamique.
Le point-virgule termine la plupart des instructions en PHP. Il indique clairement à l’interpréteur où s’arrête une action. Son absence provoque souvent une erreur de syntaxe.
L’opérateur === compare à la fois la valeur et le type des deux éléments. Il évite les conversions automatiques qui peuvent fausser certains tests. C’est un choix sûr lorsque l’on veut une comparaison précise.
foreach est une boucle conçue pour parcourir les éléments d’un tableau ou d’une collection. Elle permet de traiter chaque valeur, et éventuellement chaque clé, de façon simple. C’est souvent la méthode la plus lisible pour itérer sur des listes.
$_GET est un tableau qui contient les données transmises via l’URL avec la méthode GET. On y accède grâce au nom du paramètre, par exemple $_GET['q']. Comme ces données viennent de l’utilisateur, elles doivent être validées.
require inclut un fichier PHP et stoppe immédiatement le script si le fichier est introuvable. Il est utilisé pour des dépendances indispensables, comme une configuration ou des fonctions critiques. Cela garantit que le programme ne continue pas dans un état incomplet.
La syntaxe courte [] permet de créer un tableau de manière concise. Elle remplace l’écriture plus ancienne avec array(). Elle est devenue un standard pour écrire du PHP moderne et lisible.
switch est une structure qui sélectionne un bloc de code selon une valeur donnée. default sert à gérer le cas où aucune option ne correspond. Cela permet de prévoir un comportement stable même si un cas n’a pas été anticipé.
break interrompt immédiatement une boucle ou un switch. Il permet de sortir d’une structure de contrôle dès qu’un objectif est atteint. Utilisé correctement, il améliore la logique et évite des traitements inutiles.
header() envoie un en-tête HTTP, souvent utilisé pour rediriger vers une autre page. La redirection doit être faite avant tout affichage, sinon l’en-tête ne peut plus être envoyé. C’est une technique courante après un traitement de formulaire.
Le modulo (%) renvoie le reste d’une division entière. Il est très utile pour tester la parité d’un nombre ou gérer des cycles. Par exemple, il permet de savoir si un nombre est divisible par un autre.
htmlspecialchars() convertit certains caractères spéciaux en entités HTML avant l’affichage. Cela empêche qu’un contenu saisi soit interprété comme du code HTML ou du script. C’est une protection essentielle contre les attaques XSS lors de l’affichage de données.
À propos de ce QCM
Les notions évaluées ici couvrent les fondations du langage PHP et la manière dont un script “se tient” techniquement.
D’abord, la gestion des variables : en PHP, une variable est un conteneur qui stocke une valeur et dont le nom suit des règles strictes.
Savoir vérifier l’existence d’une variable avant de l’utiliser (par exemple lorsqu’elle provient d’une requête) fait partie des bons réflexes pour éviter des avertissements et des comportements inattendus.
À ce niveau, on travaille aussi la différence entre une valeur vide et une valeur inexistante, ainsi que les outils permettant de tester proprement ces situations.
Ensuite, vous renforcez votre maîtrise des opérateurs : concaténation de chaînes, incrémentation, calcul du reste d’une division, mais aussi comparaison “souple” et comparaison “stricte”.
Comprendre la comparaison stricte est essentiel, car elle évite les conversions implicites qui peuvent fausser un test logique.
Ces compétences servent directement à écrire des conditions fiables et à déboguer plus vite.
Un autre axe important concerne les structures de contrôle : boucles adaptées au parcours de tableaux, interruptions de boucle, et sélection de cas.
Ici, l’objectif n’est pas seulement de connaître la syntaxe, mais de savoir prévoir l’effet réel sur l’exécution du script.
La manipulation des tableaux est également centrale : déclarer, accéder à un élément par son index, compter des éléments, ou transformer une liste en texte affichable sont des opérations très fréquentes en pratique.
Enfin, on aborde des éléments “terrain” : inclusion de fichiers indispensables pour structurer un projet, gestion de sessions pour conserver des informations d’une page à l’autre, redirection HTTP après un traitement, récupération de paramètres via l’URL, et protection de l’affichage contre les injections de code côté navigateur.
L’ensemble développe des compétences de lecture de code, de diagnostic, et de sécurisation, directement utiles en environnement professionnel.
Conclusion
Cet entraînement consolide les automatismes incontournables pour écrire du PHP propre : variables bien contrôlées, comparaisons précises, boucles maîtrisées, tableaux manipulés sans erreur, et scripts structurés avec des inclusions cohérentes.
En vous exerçant régulièrement, vous améliorez votre capacité à comprendre un code existant, à anticiper le résultat d’une instruction, et à corriger rapidement les problèmes.
Le meilleur conseil est de compléter ces QCM par de petits tests concrets : afficher une donnée, parcourir un tableau, rediriger après traitement, puis sécuriser l’affichage.
C’est ainsi que la théorie devient un vrai savoir-faire.