Alain Barraud Mémento informatique  
 
Accueil Logithèque - SE Photo - vidéo Internet - protocoles Site Web PC - Réseau Archives
Page ouverte le 22/02/2010
retour sommaire PHP
Logo PHP

Les variables


Les variables permettent de retenir temporairement des informations en mémoire, comme par exemple le pseudonyme du visiteur, effectuer des calculs, etc…
Sommaire

Qu'est-ce qu'une variable ?

Une variable est une information stockée en mémoire temporairement.
En PHP, la variable (l'information) existe tant que la page est en cours de génération. Dès que celle-ci est générée, toutes les variables sont supprimées de la mémoire car elles ne servent plus à rien. Ce n'est donc pas un fichier qui reste stocké sur le disque dur mais une petite information temporaire présente en mémoire vive.

C'est nous qui créons des variables, quand on en a besoin pour retenir des informations.

Un nom et une valeur

Une variable est toujours constituée de deux éléments :
  • Son nom, pour la reconnaître. Par exemple nom_du_visiteur.
  • Sa valeur, c'est l'information qu'elle contient. Par exemple alain
Ces variables sont indispensables pour un site en PHP.
Par exemple, on pourra retenir temporairement le nom du visiteur. Dans la variable nom_du_visiteur, on stocke par exemple "alain" pour l'utiliser dès que l'on en a besoin, par exemple pour afficher un message de bienvenue personnalisé " Salut alain ! Bienvenue !".

Les différents types de variables

Les variables stockent plusieurs types d'informations. On parle de types de données. Les principaux types à connaître :
  • Les chaînes de caractères (string) : les chaînes de caractères sont le nom informatique donné au texte. Tout texte est appelé chaînes de caractères. En PHP, on appelle ce type de données "string".
    Une chaîne de caractères est délimitée par des guillemets ou des apostrophes (on parle de guillemets simples).
  • Les nombres entiers (int) : nombre du type 1, 2, 3,…, 30, 31,… mais aussi des relatifs comme -1, -2, -3,…
  • Les nombres décimaux (float) : ce sont les nombres à virgule. Attention, la virgule est écrite avec un point (notation anglaise).
  • Les booléens (bool) : type important qui permet de stocker soit vrai soit faux. Cela permet de retenir si une information est vrai ou fausse. Utilisation fréquente (true por vrai, false pour faux).
  • Rien (NULL) : on a parfois besoin de dire qu'une variable ne contient rien. Il s'agit d'absence de type de données.
Dans le paragraphe qui suit, on va voir comment créer une variable et comment afficher ce qu'elle contient ?

Affecter une valeur à une variable

Premières manipulations de variables

Regardons ce code d'exemple :
Code PHP
    <?php
    $age_du_visiteur = 17;
    ?>
Avec ce code PHP, on vient de créer une variable :
- son nom est age_du_visiteur
- sa valeur est 17

alt On ne met pas d'espace dans le nom d'une variable. On utilise underscore _

Regardons en détail le code :
- le symbole Dollar ($) : précède toujours le nom d'une variable.
- le signe Egal (=) : est logique, c'est pour dire "est égal à…"
- ensuite la valeur
- et le point-virgule (;)
alt Concrètement, ce code n'afficherait rien. Tant que l'on n'utilise pas echo, rien ne s'affiche. Le serveur a juste créé la variable temporairement en mémoire et c'est tout.

Maintenant, si on écrit :
Code PHP
    <?php
    $age_du_visiteur = 17; // la variable est créée et vaut 17
    $age_du_visiteur = 23; // la variable est modifiée et vaut 23
    $age_du_visiteur = 55; // la variable est modifiée et vaut 55
    ?>
Que va t-il se passer ? La variable va être créée puis prendre dans l'ordre la valeur de 17, 23 et 55
Et rien ne s'affiche.

Utiliser les types de données

Le type string (chaîne de caractères)
Permet de stocker du texte. Texte qu'on doit entourer de guillemets doubles ou simples :
Code PHP
    <?php
    $nom_du_visiteur = "alain";
    $nom_du_visiteur = ´alain´;
    ?>
alt Attention,si on veut insérer un guillemet simple alors que le texte est entouré de guillemets simples, il faut l'échapper avec un antislash.
De même avec les guillemets doubles.
Code PHP
    <?php
    $variable = "Mon \"nom\" est alain";
    $variable = ´Je m\´appelle alain´;
    ?>
On peut en revanche sans problème insérer des guillemets simples au milieu de guillemets doubles et inversement :
Code PHP
    <?php
    $variable = ´Mon "nom" est alain´;
    $variable = "Je m´appelle alain";
    ?>
Le type int (nombre entier)
Il suffit d'écrire le nombre qu'on veut stocker, sans guillemets :
Code PHP
    <?php
    $age_du_visiteur = 17;
    ?>
Le type float (nombre décimal)
Idem que précédent et écrire la virgule avec un point (notation anglaise) :
Code PHP
    <?php
    $poids = 57.3;
    ?>
Le type bool (booléen)
Pour dire si une variable vaut vrai ou faux, on doit écrire true ou false sans les guillemets autour (ce n'est pas une chaîne de caractères!). Bien choisir le nom de la variable pour bien comprendre la signification :
Code PHP
    <?php
    $je_suis_un_zero = true;
    $je_suis_bon_en_PHP = false;
    ?>
Une variable vide avec NULL
Pour créer une variable qui ne contient rien, on doit lui passer le mot clé NULL (on peut aussi l'écrire en minuscules null) :
Code PHP
    <?php
    $pas_de_valeur = null;
    ?>

Afficher et concaténer des variables

Afficher le contenu d'une variable

On peut afficher du texte avec echo. On peut également s'en servir pour afficher le contenu d'une variable :
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo $age_du_visiteur;
    ?>
Il suffit d'écrire le nom de la variable que l'on veut afficher. On ne met pas de guillemets quand il s'agit d'une variable.
Si on crée un fichier PHP pour tester ce bout de code, on verra s'afficher 17 dans le navigateur.

La concaténation

Signfie assemblage.
Reprenons l'exemple précédent. Ecrire 17, tout seul, n'est pas très parlant. Si on veut afficher "Le visiteur a 17 ans", la concaténation permet d'assembler du texte et des variables.

Comment procéder ? Ecrire 3 instructions echo :
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo "Le visiteur a ";
    echo $age_du_visiteur;
    echo " ans";
    ?>
Si on teste, ça marche

Mais, il y a plus malin, sur une ligne, et, il y a 2 méthodes.
Concaténer avec des guillemets doubles
Avec des guillemets doubles, c'est plus simple. On peut écrire le nom de la variable au milieu du texte et elle sera remplacée par sa valeur
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo "Le visiteur a $age_du_visiteur ans";
    ?>
Lorsqu'on utilise des guillemets doubles, les variables qui se trouvent à l'intérieur sont analysées et remplacées par leur vraie valeur.
Concaténer avec des guillemets simples
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo ´Le visiteur a $age_du_visiteur ans´;
    ?>
Ne marche pas. Ça affiche "Le visiteur a $age_du_visiteur ans"

Pour que cela fonctionne, il faut écrire la variable en dehors des guillemets et séparer les éléments entre eux avec un point :
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo ´Le visiteur a ´ . $age_du_visiteur . ´ ans´;
    ?>
Cette fois, ça marche. Bien que, en apparence plus compliquée, c'est cette méthode qu'emploie les programmeurs.
En effet, le code est plus lisible car on repère mieux les variables qui ne sont pas noyées mais séparées.
alt En plus cette méthode est un chouilla plus rapide

Faire des calculs simples

Ici, on ne va travailler qu'avec des variables contenant des nombres.

Opérations de base : addition, soustraction…

Les signes pour les 4 opérations de base sont ceux du pavé numérique du clavier : +, -, *, /
Exemple :
Code PHP
    <?php
    $nombre = 2 + 4; // $nombre prend la valeur 6
    $nombre = 5 - 1; // $nombre prend la valeur 4
    $nombre = 3 * 5; // $nombre prend la valeur 15
    $nombre = 10 / 2; // $nombre prend la valeur 5

    // on rajoute un peu de difficulté
    $nombre = 3 * 5 + 1; // $nombre prend la valeur 16
    $nombre = (1 + 2) * 2; // $nombre prend la valeur 6
    ?>

Calculs avec plusieurs variables :
Code PHP
    <?php
    $nombre = 10;
    $resultat = ($nombre + 5) * $nombre; // $resultat prend la valeur 150
    ?>

Le modulo

C'est le reste de la division entière. Il permet de récupérer ce "reste". On utilise le symbole %
Code PHP
    <?php
    $nombre = 10 % 5; // $nombre prend la valeur 0 car la division tombe juste
    $nombre = 10 % 3; // $nombre prend la valeur 1 car il reste 1
    ?>

Les autres opérations

Racine carrée, exponentielle, factorielle, etc. Toutes ces opérations sont réalisables en PHP, mais en passant par des fonctions. Pour plus tard…