W3docs

Introduction aux variables PHP

En PHP, une variable est un conteneur nommé qui stocke une valeur en mémoire, désigné par un signe dollar ($) suivi du nom de la variable.

En PHP, une variable est un conteneur nommé qui stocke une valeur en mémoire. Les variables sont désignées par un signe dollar ($) suivi du nom de la variable. La valeur qu'une variable contient peut être définie, modifiée et lue à tout moment pendant l'exécution d'un script PHP, ce qui rend un script dynamique plutôt qu'un bloc de sortie fixe.

Ce chapitre explique comment déclarer des variables, les règles de nommage à respecter, les types de données qu'une variable peut contenir, comment PHP détermine le type d'une variable pour vous, et les opérations courantes que vous effectuerez sur les variables.

Déclarer une variable

Une variable est créée au moment où vous lui assignez une valeur. PHP n'a pas de mot-clé de « déclaration » séparé — l'assignation est la déclaration :

PHP define a variable

<?php
$variable_name = value;

Ici $variable_name est le nom et value est ce que vous y stockez. Un exemple complet et fonctionnel :

<?php
$greeting = "Hello, World!";
$year     = 2024;

echo $greeting;   // Hello, World!
echo "\n";
echo $year;       // 2024

Résultat :

Hello, World!
2024

Vous n'êtes pas obligé de donner une valeur à une variable lorsque vous la mentionnez, mais lire une variable qui n'a jamais été assignée génère un avertissement et retourne NULL, donc assignez toujours avant d'utiliser.

Règles de nommage

Un nom de variable PHP valide :

  • Commence par une lettre ou un tiret bas (_) — jamais un chiffre.
  • Contient uniquement des lettres, des chiffres et des tirets bas après le premier caractère.
  • Est sensible à la casse : $name, $Name et $NAME sont trois variables différentes.
<?php
$user_age = 30;   // valid
$_token   = "ab"; // valid (starts with underscore)
$2cool    = 1;    // INVALID — cannot start with a digit

Par convention, les variables PHP utilisent le snake_case ($first_name), bien que le camelCase ($firstName) soit également courant. Choisissez un style et restez cohérent.

Types de données qu'une variable peut contenir

PHP est typé dynamiquement : vous ne déclarez jamais un type, et la même variable peut contenir différents types au cours de sa durée de vie. Le type est inféré à partir de la valeur que vous assignez.

  • String — une séquence de caractères : $name = "John Doe";
  • Integer — un nombre entier : $age = 25;
  • Float — un nombre avec un point décimal : $average = 7.5;
  • Booleantrue ou false : $is_active = true;
  • Array — une collection ordonnée de valeurs : $fruits = ["apple", "banana", "orange"];
  • Object — une instance d'une classe : $person = new Person();
  • NULL — une variable sans valeur : $email = null;

Vous pouvez inspecter la valeur et le type d'une variable à l'exécution avec var_dump() :

<?php
$age     = 25;
$average = 7.5;
$name    = "Sara";

var_dump($age);
var_dump($average);
var_dump($name);

Résultat :

int(25)
float(7.5)
string(4) "Sara"

Pour un examen approfondi de chaque type, consultez Types de données PHP.

Typage souple et conversion de types

Comme le type d'une variable provient de sa valeur, la réassignation change le type :

<?php
$x = 10;       // $x is an integer
$x = "ten";    // now $x is a string — perfectly legal
$x = 3.14;     // now $x is a float

PHP convertit également les types automatiquement dans de nombreuses expressions (ce qu'on appelle la conversion de types). Par exemple, une chaîne numérique est traitée comme un nombre dans les opérations arithmétiques :

<?php
$result = "5" + 3;
echo $result;   // 8 — the string "5" is converted to the integer 5

Cette commodité peut vous surprendre, donc lorsque vous avez besoin qu'une valeur soit d'un type spécifique, convertissez-la explicitement : (int) $value, (float) $value ou (string) $value.

Opérations sur les variables

Une fois que vous avez des variables, vous les combinez et les comparez.

Assignation — stocker une valeur :

<?php
$name = "John Doe";

Arithmétique — additionner, soustraire, multiplier, etc. :

<?php
$a = 8;
$b = 3;
$sum = $a + $b;
echo $sum;   // 11

Comparaison — tester la relation entre des valeurs ; le résultat est un boolean :

<?php
$a = 5;
$b = 5;
$is_equal = ($a == $b);
var_dump($is_equal);   // bool(true)

Concaténation — joindre des chaînes avec l'opérateur point (.) :

<?php
$first_name = "John";
$last_name  = "Doe";
$full_name  = $first_name . " " . $last_name;
echo $full_name;   // John Doe

Pour la liste complète des opérateurs, consultez Opérateurs PHP.

Portée des variables

L'endroit où vous déclarez une variable détermine où elle peut être lue. Une variable créée dans le corps principal d'un script n'est pas automatiquement disponible à l'intérieur d'une fonction, et vice versa :

<?php
$message = "outside";

function show() {
    echo $message;   // Notice: undefined variable — scope does not reach in
}

show();

Pour utiliser une variable externe dans une fonction, passez-la en argument ou importez-la avec le mot-clé global. La portée est une source courante de bugs pour les débutants, il vaut donc la peine de lire le chapitre dédié sur la portée des variables PHP.

Constantes vs. variables

Lorsqu'une valeur ne doit jamais changer, utilisez une constante plutôt qu'une variable. Les constantes n'ont pas de préfixe $ et sont définies avec define() ou le mot-clé const. Consultez Constantes PHP pour les détails.

Conclusion

Les variables PHP sont les éléments fondamentaux de chaque script : elles stockent et manipulent les données avec lesquelles votre programme travaille. Les points essentiels à retenir sont que les variables commencent par $, les noms sont sensibles à la casse et ne peuvent pas commencer par un chiffre, et PHP infère le type à partir de la valeur, de sorte qu'une seule variable peut contenir des chaînes, des nombres, des tableaux, des objets ou NULL tout au long de sa durée de vie. Ensuite, continuez avec Types de données PHP et Opérateurs PHP pour mettre les variables en pratique.

Pratique

Pratique
Lesquelles des affirmations suivantes sont vraies concernant les variables PHP ?
Lesquelles des affirmations suivantes sont vraies concernant les variables PHP ?
Was this page helpful?