Cours

PHP Leçon 2

Les variables

Ranger des valeurs dans des variables, connaître les types de base et assembler du texte.

20 min

À la fin de cette leçon, tu sauras

  • Créer une variable et lui donner une valeur
  • Reconnaître les types texte, nombre et booléen
  • Assembler du texte avec le point ou les guillemets doubles

Une boîte avec une étiquette

Une variable garde une valeur en mémoire pour s'en servir plus loin. En PHP, son nom commence toujours par un dollar $. On lui donne une valeur avec le signe =.

<?php
$prenom = "Léa";
$age = 18;

echo $prenom;

Le nom d'une variable ne contient ni espace ni accent, et ne commence pas par un chiffre. Choisis des noms qui disent ce qu'il y a dedans : $prixTotal plutôt que $x. Attention, $Prenom et $prenom sont deux variables différentes.

Les types de valeurs

  • texte (string) : entre guillemets, "Bonjour" ou 'Bonjour' ;
  • nombre entier (int) : 18, -3 ;
  • nombre à virgule (float) : 19.99, avec un point et pas une virgule ;
  • booléen (bool) : true (vrai) ou false (faux).

Calculer

<?php
$prix = 12;
$quantite = 3;
$total = $prix * $quantite;   // 36

$age = 18;
$age = $age + 1;              // la variable vaut maintenant 19

Les opérations : +, -, * (multiplier), / (diviser) et % (le reste d'une division).

Assembler du texte

Pour coller des morceaux de texte, PHP utilise le point . (la concaténation). Autre solution : entre guillemets doubles, les variables sont remplacées par leur valeur.

<?php
$prenom = "Léa";
$age = 18;

echo "Je m'appelle " . $prenom . " et j'ai " . $age . " ans.";
echo "Je m'appelle $prenom et j'ai $age ans.";   // même résultat
echo 'Je m\'appelle $prenom';                     // affiche $prenom tel quel !

Attention : entre guillemets simples, les variables ne sont pas remplacées. Et pour mettre une apostrophe dans un texte entre guillemets simples, il faut l'échapper avec \'.

À toi de jouer

Écris un petit programme qui :

  • crée une variable $prenom contenant ton prénom (un texte) ;
  • crée une variable $age contenant ton âge (un nombre, sans guillemets) ;
  • affiche une phrase qui utilise les deux variables, par exemple « Je m'appelle Léa et j'ai 18 ans. »
index.php
  • $prenom contient un texte
  • $age contient un nombre (sans guillemets)
  • Un echo utilise $prenom
  • Le même echo utilise aussi $age
Bloqué ? Voir une solution
<?php
$prenom = "Léa";
$age = 18;

echo "Je m'appelle $prenom et j'ai $age ans.";

Quiz

1Lequel est un nom de variable PHP valide ?
2Avec $a = 5;, qu'affiche echo 'Total : $a'; ?
3Quel opérateur colle deux textes en PHP ?
4Que vaut $x après $x = 10; $x = $x * 2; ?