1.1 · Variables, types & opérateurs

Niveau 1 · Bases du langage

1.1Variables, types & opérateurs

Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
Temps estimé : 11 min

Les variables stockent des données pour les manipuler. En PHP, une variable commence TOUJOURS par le signe dollar $, suivi de son nom : $nom, $age, $prixTotal. On lui affecte une valeur avec le signe égal = : $age = 30;. PHP est un langage à typage dynamique : on ne déclare pas le type d'une variable à l'avance — PHP le détermine selon la valeur qu'on lui donne, et une variable peut changer de type au fil du code. Les principaux types de données à connaître : string (chaîne de caractères : du texte, entre guillemets — 'Bonjour' ou "Bonjour"), int (entier : 42), float (nombre décimal : 3.14), bool (booléen : true ou false), array (tableau : une collection — section 1-5), null (absence de valeur), et object (objet — niveau 3). Le nom d'une variable est sensible à la casse et doit être choisi de façon claire et parlante ($prixTotal plutôt que $x) — le nommage explicite est une clé de lisibilité.

Les opérateurs permettent de calculer et comparer. Les opérateurs arithmétiques : + (addition), -, *, / (division), % (modulo — le reste d'une division), ** (puissance). Les opérateurs d'affectation : =, et les raccourcis +=, -=, *=… ($x += 5 équivaut à $x = $x + 5). La concaténation de chaînes : en PHP, on assemble des chaînes avec le POINT . (attention, pas + comme dans d'autres langages !) — $message = 'Bonjour ' . $nom;. Les opérateurs de comparaison : == (égal en valeur), === (égal en valeur ET en type — le « strictement égal », à privilégier), != / !== (différent), <, >, <=, >=. Les opérateurs logiques : && (ET), || (OU), ! (NON). Un point CRUCIAL et source de bugs classiques en PHP : la différence entre == et ===. == compare les valeurs avec une CONVERSION de type automatique (« comparaison lâche ») — ce qui donne des résultats parfois surprenants (par exemple, une chaîne et un nombre peuvent être considérés « égaux » après conversion). === compare la valeur ET le type, sans conversion (« comparaison stricte ») — plus prévisible et sûr. La bonne pratique moderne est de privilégier === (et !==) pour éviter les surprises de conversion. Enfin, sur les chaînes, notez une différence importante : les guillemets DOUBLES "..." INTERPRÈTENT les variables ("Bonjour $nom" insère la valeur de $nom) et les caractères d'échappement, tandis que les guillemets SIMPLES '...' prennent le texte LITTÉRALEMENT ('Bonjour $nom' affiche littéralement « Bonjour $nom ») — une distinction à connaître. Maîtriser variables, types et opérateurs est la base de toute logique : c'est avec eux que vous stockez, calculez et comparez les données de vos programmes.

Vocabulaire de la section

Variable ($)
Stocke une donnée ; commence toujours par ` Variables, types & opérateurs — PHP · GUIDINEE.COM

1.1 · Variables, types & opérateurs

Niveau 1 · Bases du langage

1.1Variables, types & opérateurs

Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
Temps estimé : 11 min
(`$nom`), affectée avec `=` (`$age = 30;`). Nom sensible à la casse, à choisir clair et parlant.
Typage dynamique
PHP détermine le type selon la valeur (pas de déclaration préalable) ; une variable peut changer de type. Types : string, int, float, bool, array, null, object.
Opérateurs
Arithmétiques (+ - * / % **), affectation (=, +=…), comparaison (==, ===, !=, <, >…), logiques (&& || !).
Concaténation (.)
En PHP, on assemble les chaînes avec le POINT `.` (pas `+`) : `'Bonjour ' . $nom`.
== vs === / guillemets
`==` compare avec conversion de type (lâche, surprenant) ; `===` compare valeur ET type (strict, à privilégier). Guillemets doubles interprètent les variables, simples = littéral.
Vérifiez votre compréhension

Faut-il privilégier `==` ou `===` en PHP, et pourquoi ?

Tutoriel 1.1
Tutos « 1.1 » PHP variable type opérateur entier chaîne (recherche)
Cliquer pour voir les résultats à jour ↗

En pratique — Manipuler variables, types et opérateurs

  1. Déclarez des variables de différents types (string, int, float, bool) avec ` Variables, types & opérateurs — PHP · GUIDINEE.COM

    1.1 · Variables, types & opérateurs

    Niveau 1 · Bases du langage

    1.1Variables, types & opérateurs

    Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
    Temps estimé : 11 min

    Les variables stockent des données pour les manipuler. En PHP, une variable commence TOUJOURS par le signe dollar $, suivi de son nom : $nom, $age, $prixTotal. On lui affecte une valeur avec le signe égal = : $age = 30;. PHP est un langage à typage dynamique : on ne déclare pas le type d'une variable à l'avance — PHP le détermine selon la valeur qu'on lui donne, et une variable peut changer de type au fil du code. Les principaux types de données à connaître : string (chaîne de caractères : du texte, entre guillemets — 'Bonjour' ou "Bonjour"), int (entier : 42), float (nombre décimal : 3.14), bool (booléen : true ou false), array (tableau : une collection — section 1-5), null (absence de valeur), et object (objet — niveau 3). Le nom d'une variable est sensible à la casse et doit être choisi de façon claire et parlante ($prixTotal plutôt que $x) — le nommage explicite est une clé de lisibilité.

    Les opérateurs permettent de calculer et comparer. Les opérateurs arithmétiques : + (addition), -, *, / (division), % (modulo — le reste d'une division), ** (puissance). Les opérateurs d'affectation : =, et les raccourcis +=, -=, *=… ($x += 5 équivaut à $x = $x + 5). La concaténation de chaînes : en PHP, on assemble des chaînes avec le POINT . (attention, pas + comme dans d'autres langages !) — $message = 'Bonjour ' . $nom;. Les opérateurs de comparaison : == (égal en valeur), === (égal en valeur ET en type — le « strictement égal », à privilégier), != / !== (différent), <, >, <=, >=. Les opérateurs logiques : && (ET), || (OU), ! (NON). Un point CRUCIAL et source de bugs classiques en PHP : la différence entre == et ===. == compare les valeurs avec une CONVERSION de type automatique (« comparaison lâche ») — ce qui donne des résultats parfois surprenants (par exemple, une chaîne et un nombre peuvent être considérés « égaux » après conversion). === compare la valeur ET le type, sans conversion (« comparaison stricte ») — plus prévisible et sûr. La bonne pratique moderne est de privilégier === (et !==) pour éviter les surprises de conversion. Enfin, sur les chaînes, notez une différence importante : les guillemets DOUBLES "..." INTERPRÈTENT les variables ("Bonjour $nom" insère la valeur de $nom) et les caractères d'échappement, tandis que les guillemets SIMPLES '...' prennent le texte LITTÉRALEMENT ('Bonjour $nom' affiche littéralement « Bonjour $nom ») — une distinction à connaître. Maîtriser variables, types et opérateurs est la base de toute logique : c'est avec eux que vous stockez, calculez et comparez les données de vos programmes.

    Vocabulaire de la section

    Variable ($)
    Stocke une donnée ; commence toujours par ` Variables, types & opérateurs — PHP · GUIDINEE.COM

    1.1 · Variables, types & opérateurs

    Niveau 1 · Bases du langage

    1.1Variables, types & opérateurs

    Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
    Temps estimé : 11 min
    (`$nom`), affectée avec `=` (`$age = 30;`). Nom sensible à la casse, à choisir clair et parlant.
    Typage dynamique
    PHP détermine le type selon la valeur (pas de déclaration préalable) ; une variable peut changer de type. Types : string, int, float, bool, array, null, object.
    Opérateurs
    Arithmétiques (+ - * / % **), affectation (=, +=…), comparaison (==, ===, !=, <, >…), logiques (&& || !).
    Concaténation (.)
    En PHP, on assemble les chaînes avec le POINT `.` (pas `+`) : `'Bonjour ' . $nom`.
    == vs === / guillemets
    `==` compare avec conversion de type (lâche, surprenant) ; `===` compare valeur ET type (strict, à privilégier). Guillemets doubles interprètent les variables, simples = littéral.
    Vérifiez votre compréhension

    Faut-il privilégier `==` ou `===` en PHP, et pourquoi ?

    Tutoriel 1.1
    Tutos « 1.1 » PHP variable type opérateur entier chaîne (recherche)
    Cliquer pour voir les résultats à jour ↗
    et affichez-les ; observez le typage dynamique.
  2. Faites des calculs avec les opérateurs arithmétiques (dont % modulo) et concaténez des chaînes avec le POINT `.` (pas `+`).
  3. Comparez avec `==` puis `===` sur une chaîne et un nombre (ex. '5' et 5) : observez la différence (conversion vs strict) et privilégiez `===`.
  4. Testez les guillemets : `"Bonjour $nom"` (interprète la variable) vs `'Bonjour $nom'` (littéral) — constatez la différence.
Vous stockez des données dans des variables typées dynamiquement, calculez et comparez avec les opérateurs (dont === à privilégier), et maîtrisez concaténation et guillemets — la base de toute logique.

Points clés à retenir

  • Une VARIABLE commence toujours par ` Variables, types & opérateurs — PHP · GUIDINEE.COM

    1.1 · Variables, types & opérateurs

    Niveau 1 · Bases du langage

    1.1Variables, types & opérateurs

    Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
    Temps estimé : 11 min

    Les variables stockent des données pour les manipuler. En PHP, une variable commence TOUJOURS par le signe dollar $, suivi de son nom : $nom, $age, $prixTotal. On lui affecte une valeur avec le signe égal = : $age = 30;. PHP est un langage à typage dynamique : on ne déclare pas le type d'une variable à l'avance — PHP le détermine selon la valeur qu'on lui donne, et une variable peut changer de type au fil du code. Les principaux types de données à connaître : string (chaîne de caractères : du texte, entre guillemets — 'Bonjour' ou "Bonjour"), int (entier : 42), float (nombre décimal : 3.14), bool (booléen : true ou false), array (tableau : une collection — section 1-5), null (absence de valeur), et object (objet — niveau 3). Le nom d'une variable est sensible à la casse et doit être choisi de façon claire et parlante ($prixTotal plutôt que $x) — le nommage explicite est une clé de lisibilité.

    Les opérateurs permettent de calculer et comparer. Les opérateurs arithmétiques : + (addition), -, *, / (division), % (modulo — le reste d'une division), ** (puissance). Les opérateurs d'affectation : =, et les raccourcis +=, -=, *=… ($x += 5 équivaut à $x = $x + 5). La concaténation de chaînes : en PHP, on assemble des chaînes avec le POINT . (attention, pas + comme dans d'autres langages !) — $message = 'Bonjour ' . $nom;. Les opérateurs de comparaison : == (égal en valeur), === (égal en valeur ET en type — le « strictement égal », à privilégier), != / !== (différent), <, >, <=, >=. Les opérateurs logiques : && (ET), || (OU), ! (NON). Un point CRUCIAL et source de bugs classiques en PHP : la différence entre == et ===. == compare les valeurs avec une CONVERSION de type automatique (« comparaison lâche ») — ce qui donne des résultats parfois surprenants (par exemple, une chaîne et un nombre peuvent être considérés « égaux » après conversion). === compare la valeur ET le type, sans conversion (« comparaison stricte ») — plus prévisible et sûr. La bonne pratique moderne est de privilégier === (et !==) pour éviter les surprises de conversion. Enfin, sur les chaînes, notez une différence importante : les guillemets DOUBLES "..." INTERPRÈTENT les variables ("Bonjour $nom" insère la valeur de $nom) et les caractères d'échappement, tandis que les guillemets SIMPLES '...' prennent le texte LITTÉRALEMENT ('Bonjour $nom' affiche littéralement « Bonjour $nom ») — une distinction à connaître. Maîtriser variables, types et opérateurs est la base de toute logique : c'est avec eux que vous stockez, calculez et comparez les données de vos programmes.

    Vocabulaire de la section

    Variable ($)
    Stocke une donnée ; commence toujours par ` Variables, types & opérateurs — PHP · GUIDINEE.COM

    1.1 · Variables, types & opérateurs

    Niveau 1 · Bases du langage

    1.1Variables, types & opérateurs

    Objectif : manipuler chaînes, entiers, flottants, booléens et opérateurs.
    Temps estimé : 11 min
    (`$nom`), affectée avec `=` (`$age = 30;`). Nom sensible à la casse, à choisir clair et parlant.
    Typage dynamique
    PHP détermine le type selon la valeur (pas de déclaration préalable) ; une variable peut changer de type. Types : string, int, float, bool, array, null, object.
    Opérateurs
    Arithmétiques (+ - * / % **), affectation (=, +=…), comparaison (==, ===, !=, <, >…), logiques (&& || !).
    Concaténation (.)
    En PHP, on assemble les chaînes avec le POINT `.` (pas `+`) : `'Bonjour ' . $nom`.
    == vs === / guillemets
    `==` compare avec conversion de type (lâche, surprenant) ; `===` compare valeur ET type (strict, à privilégier). Guillemets doubles interprètent les variables, simples = littéral.
    Vérifiez votre compréhension

    Faut-il privilégier `==` ou `===` en PHP, et pourquoi ?

    Tutoriel 1.1
    Tutos « 1.1 » PHP variable type opérateur entier chaîne (recherche)
    Cliquer pour voir les résultats à jour ↗
    (`$nom`), affectée avec `=`. PHP a un TYPAGE DYNAMIQUE (le type suit la valeur). Types : string, int, float, bool, array, null, object.
  • CONCATÉNATION des chaînes avec le POINT `.` (PAS `+` !). Opérateurs : arithmétiques (+ - * / % **), affectation (+=…), comparaison, logiques (&& || !).
  • CRUCIAL : `==` compare avec conversion de type (lâche, résultats surprenants) ; `===` compare valeur ET type (strict) — PRIVILÉGIER `===` / `!==`.
  • Guillemets DOUBLES interprètent les variables (`"Bonjour $nom"`) ; guillemets SIMPLES = littéral (`'Bonjour $nom'`). Nommer les variables clairement (lisibilité).

Questions fréquentes

Pourquoi privilégier === plutôt que == en PHP, et quels bugs cela évite-t-il ?

La différence entre == et === est l'une des sources de bugs les plus classiques et sournoises en PHP, et privilégier === vous évite toute une catégorie de problèmes liés à la conversion de type automatique — voici pourquoi. Le comportement de == (comparaison « lâche » / loose) : == compare deux valeurs en effectuant une CONVERSION DE TYPE automatique si les types diffèrent. PHP essaie de « rendre comparables » les deux valeurs en les convertissant, ce qui peut donner des résultats SURPRENANTS et contre-intuitifs. Le comportement de === (comparaison « stricte » / strict) : === compare la valeur ET le type, SANS aucune conversion. Deux valeurs ne sont === que si elles ont le même type ET la même valeur. C'est prévisible et sans surprise. Les bugs que == peut causer (par la conversion automatique) : (1) Une CHAÎNE et un NOMBRE : selon les cas, == peut convertir et considérer égaux des choses qu'on n'attendrait pas (par exemple, dans certaines situations, une chaîne est convertie en nombre pour la comparaison, avec des résultats déroutants). (2) Des valeurs « FALSY » : PHP a des règles de conversion vers booléen (0, chaîne vide, '0', null, tableau vide sont « faux ») qui, avec ==, peuvent rendre égales des valeurs très différentes (par exemple, comparer une valeur à false ou à 0 avec == peut donner « vrai » pour des entrées inattendues). (3) Le cas classique et DANGEREUX : comparer une chaîne à zéro, ou des valeurs de types mêlés, peut produire des égalités inattendues — historiquement, cela a causé des FAILLES DE SÉCURITÉ (par exemple, des comparaisons de hachages ou de jetons mal faites avec == qui laissaient passer des valeurs qu'elles n'auraient pas dû). Ces comportements sont documentés (les « tables de comparaison » de PHP montrent les résultats de ==, parfois surprenants), et PHP moderne (8+) a d'ailleurs corrigé certains des cas les plus absurdes — mais le principe demeure : == convertit, === non. Pourquoi === est plus sûr : (1) Prévisibilité : === fait exactement ce qu'on attend (même type et même valeur) — pas de conversion cachée, pas de surprise. (2) Évite les bugs de conversion : toute la catégorie de bugs liés aux conversions inattendues de == disparaît. (3) Sécurité : pour comparer des valeurs sensibles (jetons, hachages, identifiants), === (ou des fonctions dédiées) évite les failles de comparaison lâche. (4) Clarté d'intention : === exprime « je veux exactement cette valeur de ce type », ce qui est généralement l'intention réelle. La bonne pratique : (1) Utilisez === (et !==) par DÉFAUT. Dans l'immense majorité des cas, vous voulez une comparaison stricte (même valeur et même type). Faites-en votre réflexe. (2) N'utilisez == que si vous voulez VOLONTAIREMENT une comparaison avec conversion (rare, et alors soyez conscient des règles de conversion). (3) Pour les valeurs sensibles (sécurité), utilisez la comparaison stricte ou des fonctions dédiées (par exemple, pour comparer des chaînes de façon sûre contre les attaques temporelles, des fonctions spécialisées existent). (4) De même, préférez les fonctions de vérification de type appropriées quand pertinent. Une nuance : dans certains contextes, la comparaison lâche peut être commode (comparer des entrées de formulaire qui arrivent toujours en chaîne à des nombres) — mais même là, il vaut souvent mieux CONVERTIR explicitement (caster) les valeurs au bon type d'abord, puis comparer en strict, pour garder le contrôle. La conversion explicite et contrôlée est préférable à la conversion implicite et surprenante de ==. En résumé : == compare avec conversion de type automatique (« lâche »), source de résultats surprenants et de bugs (voire de failles de sécurité) ; === compare valeur ET type sans conversion (« stricte »), prévisible et sûr. Privilégiez === / !== par défaut — c'est le réflexe moderne qui évite toute une catégorie de bugs de conversion. Réservez == aux cas où vous voulez volontairement une conversion (rare), en connaissance de cause. Cette simple habitude (utiliser ===) élimine des bugs sournois et rend votre code plus robuste et prévisible — un des marqueurs du PHP bien écrit.

Guillemets simples ou doubles : quelle différence et laquelle utiliser en PHP ?

En PHP, les guillemets simples '...' et doubles "..." ne sont pas équivalents : ils traitent différemment les VARIABLES et les caractères d'échappement — comprendre cette différence évite des bugs et permet de choisir judicieusement. La différence fondamentale : (1) Guillemets DOUBLES "..." : INTERPRÈTENT (parsent) le contenu. À l'intérieur de guillemets doubles, PHP : (a) INTERPRÈTE les VARIABLES — "Bonjour $nom" insère la VALEUR de la variable $nom dans la chaîne (si $nom vaut « Alice », le résultat est « Bonjour Alice ») ; (b) INTERPRÈTE les SÉQUENCES D'ÉCHAPPEMENT — \n (saut de ligne), \t (tabulation), \" (guillemet double littéral), etc. (2) Guillemets SIMPLES '...' : prennent le contenu LITTÉRALEMENT. À l'intérieur de guillemets simples, PHP N'INTERPRÈTE PAS les variables — 'Bonjour $nom' affiche LITTÉRALEMENT « Bonjour $nom » (le texte $nom, pas sa valeur). Et il n'interprète pas les séquences d'échappement (sauf \' pour une apostrophe littérale et \\ pour un antislash littéral). Le contenu est pris tel quel. Exemples pour clarifier (avec $nom = 'Alice') : (1) "Bonjour $nom" → « Bonjour Alice » (variable interprétée). (2) 'Bonjour $nom' → « Bonjour $nom » (littéral). (3) "Ligne1\nLigne2" → deux lignes (le \n est un saut de ligne). (4) 'Ligne1\nLigne2' → « Ligne1\nLigne2 » (le \n reste littéral). Laquelle utiliser (les bonnes pratiques) : (1) Guillemets SIMPLES par défaut, quand il n'y a pas de variable ni d'échappement à interpréter. Deux raisons : (a) c'est plus PRÉVISIBLE (le texte est pris tel quel, pas de surprise si votre texte contient un $ par hasard) ; (b) c'est légèrement plus PERFORMANT (PHP n'a pas à analyser le contenu à la recherche de variables — un gain minime mais réel, et une bonne habitude). Pour du texte pur ('Bonjour', 'erreur'), utilisez des guillemets simples. (2) Guillemets DOUBLES quand vous VOULEZ interpréter des variables ou des échappements. Si vous devez insérer des variables dans une chaîne, les guillemets doubles sont pratiques : "Bonjour $nom, tu as $age ans". Pour les cas complexes (accéder à une propriété d'objet ou un élément de tableau dans la chaîne), on utilise des accolades : "Total : {$panier['prix']}". (3) L'ALTERNATIVE recommandée : la CONCATÉNATION. Plutôt que d'interpréter des variables dans des guillemets doubles, beaucoup préfèrent CONCATÉNER avec le point : 'Bonjour ' . $nom . ', tu as ' . $age . ' ans'. C'est explicite, prévisible, et fonctionne avec des guillemets simples. Certains la trouvent plus lisible, d'autres moins — c'est une question de style, les deux sont valables. (4) Pour de LONGUES chaînes multilignes, PHP offre les syntaxes « heredoc » (interprète, comme les doubles) et « nowdoc » (littéral, comme les simples) — utiles pour de gros blocs de texte. Points de vigilance : (1) Un $ ACCIDENTEL dans une chaîne à guillemets DOUBLES peut causer un comportement inattendu (PHP tente d'interpréter une variable) — d'où l'intérêt des guillemets simples pour le texte pur. (2) Les guillemets DANS une chaîne : une apostrophe dans une chaîne à guillemets simples doit être échappée ('l\'utilisateur') ou on utilise des guillemets doubles ("l'utilisateur") ; inversement pour un guillemet double dans une chaîne à guillemets doubles. Choisissez le délimiteur qui évite d'avoir à échapper, ou échappez proprement. En résumé : guillemets DOUBLES = interprètent variables et échappements ("Bonjour $nom") ; guillemets SIMPLES = littéral, pris tel quel ('Bonjour $nom' affiche le texte). Bonne pratique : simples par défaut (prévisible, léger gain de performance) pour du texte pur ; doubles (ou concaténation) quand vous voulez insérer des variables. C'est une distinction propre à PHP (contrairement à certains langages) qu'il faut connaître pour éviter les bugs (« pourquoi ma variable ne s'affiche pas ? » → vous êtes en guillemets simples) et écrire un code clair. Une fois la règle intégrée (doubles = interprètent, simples = littéral), le choix devient naturel selon que vous avez ou non des variables à insérer.

Autres ressources