COURS PHP

  Dernière mise à jour effectuée le : Dimanche 10 août 2003    

Accueil | Eléments de base : Les variables

Les variables



Généralités

Ecrire un programme dans un langage informatique, veut dire traiter des informations. Nous les appellerons les "Données"
Le but d'un programme est de travailler sur ces données. Les stocker, les modifier, effectuer des calculs dessus ou avec, s'en servir pour faire des choix, etc.
Pour que l'ordinateur soit capable de faire ce que nous allons lui demander (ce n'est qu'une machine après tout, il ne faut pas lui en vouloir), il faut stocker ces données dans sa mémoire (seule chose à laquelle nous ayons vraiment accès).

Afin que l'ordinateur (et surtout nous !) soyons capables de retrouver une donnée nous allons la ranger dans un coin de sa mémoire. D'une manière imagée, on peut considérer que la zone de mémoire de l'ordinateur où seront stockées les données, est constituée d'une infinité (ou à peu près) de petits casiers dans lesquels seront rangées les données que nous y mettrons. Afin de pouvoir distinguer les petits casiers les uns des autres, on va donner un nom à chaque casier que nous utiliserons. Dès lors, un petit casier qui porte un nom, deviendra une "variable".

Pour indiquer à l'ordinateur que nous attribuons un nom à un petit casier, on écrit l'instruction suivante :

$MonPoids ;
$MonPrenom ;

$ est un caractère réservé en PHP pour indiquer que ce qui suit (sans espace) est une variables. En d'autres termes, on dit que tous les noms de variables doivent commencer par un "$". Dès lors que l'interpréteur PHP rencontre le signe $, il sait qu'il va devoir réserver un emplacement dans sa mémoire (un petit casier), et donner à cet emplacement, le nom qui suit directement le signe $.
Dans notre exemple, l'interpréteur va réserver deux petits casiers dans sa mémoire. Il va appeler le premier $MonPoids et le deuxième $MonPrenom. Les noms $MonPoids et $MonPrenom sont les noms que NOUS  (programmeurs) avons décidé de donner aux petits casiers. Nous aurions pu décider de donner n'importe quel nom à ces petits casiers.
Dès que ceci est exécuté par l'interpréteur, il existe en mémoire deux zones encore vides, portant les noms que nous avons décidés. Il ne nous restera plus qu'à les remplir lorsque nous en aurons besoin.
Ces zones, réservées, sont appelées des "variables" (nous venons de le voir).
Le simple fait en PHP d'écrire $MonPoids ou $MonPrenom, est appelée "déclaration de variables".
 
 
Il est bon de donner aux variables (petits casiers) des noms représentatifs de ce qu'ils sont destinés à contenir. Ca simplifie la lecture du programme pour le programmeur. Il serait dangereux (et pas très malin) d'appeler une variable MonPrenom, et d'y stocker son numéro de compte en banque. C'est comme si dans votre cuisine, vous aviez une boite dont l'étiquette indique "Sucre" et que vous  remplissiez la boite de sel.
Vous avez le droit de le faire. Mais le jour où vous oubliez que vous avez mis du sel dans la boite à sucre, vous risquez d'avoir des surprises en faisant un dessert.



Emplacement des déclarations de variables

Certains langages informatique nécessitent obligatoirement que l'on déclare les variables avant toute chose afin de pouvoir s'en servir par la suite. D'autres pas. PHP fait partie de ceux qui ne veulent pas forcément qu'on déclare les variables avant de s'en servir.
Nous verrons par la suite que ce n'est pas absolu, mais pour le moment, nous nous en tiendrons à ça. Pour ma part, (nous verrons pourquoi plus tard), je préfère déclarer quand même les variables en tête de mes programmes. Je vous engagerai donc à faire de même.
Ces déclarations de variables peuvent se faire un peu n'importe où dans le corps du programme, entre les balises

<?php

?>
 
 
Je recommande personnellement de faire les déclarations de variables en tête du programme, juste au dessous de la balise <?php. Du moins jusqu'à ce que vous soyez des programmeurs confirmés. 

Dans ce cas, le squelette de notre page HTML programme serait :

<html>

     <head>
     <title> .......... </title>

     <?php
     // déclaration des variables
    $MonPoids ; // poids de l'individu
    $MonPrenom ; // Prénom de l'individu

     ?>

     </head>

<body>

</body>
</html>

 Vous remarquerez que nous n'avons pas oublié le commentaire indiquant ce que l'on fait. Ici, avec juste deux variables, c'est simple. Mais quand on en a plusieurs dizaines, c'est très pratique de savoir à quoi elles servent.

 



Contraintes dans les noms de variables

Si nous avons le droit de donner le nom que nous voulons aux variables, nous devons cependant respecter un certain nombre de contraintes imposées par l'interpréteur PHP.

1) Les noms de variables ne peuvent contenir que des lettres, chiffres, ou le caractère "_" (underscore)

$Mon_Prenom est un nom valide

2) Les caractères spéciaux et accentués sont autorisés (é, à, ç, ï, etc..) ,mais je conseille de les éviter pour celles et ceux qui programment dans d'autres langages, de manière à ne pas prendre de mauvaises habitudes qui risqueraient d'être fort regrettables pour les langages (quasiment tous) qui n'acceptent pas ces caractères.

$Mon_Prénom est doncun nom valide.

3) Les majuscules et les minuscules ont leur importance. On dit que les noms de variables sont "sensibles à la casse". Mot de typographie représentant la différence entre majuscule et minuscule.

$MonPrenom est différent de $Monprenom. Ce sont deux variables différentes

4) Un nom de variable ne peut contenir d'espaces.

$Mon Prenom n'est pas un nom de variable correct. Il y a un espace.

5) Les mots réservés PHP ne peuvent être utilisés comme noms de variable.

Il n'y a pas vraiment de limite à la longueur du nom d'une variable, mais le bon sens nous dicte de ne pas donner des noms démesurément longs à une variable.

Si vous respectez ces quelques consignes, somme toute très simples, rien de grave ne pourra vous arriver. :-)

 



Les différents types de variables.

Jusqu'à maintenant, nous avons vu comment réserver un emplacement à une variable en mémoire. Il suffit juste de la déclarer en l'écrivant tout simplement.
Mais le petit casier, s'il est étiqueté, ne contient encore rien. Il est vide.
On dit que la variable est vide et non typée.
Le type de la variable va dépendre de ce que nous allons mettre (on dit aussi "stocker") dans le petit casier (la variable).
Le plus souvent, pour mettre quelque chose dans le petit casier (la variable), nous utiliserons l'instruction suivante :

$MonPrenom = "Philippe" ;

En faisant cela, nous rangeons la valeur "Philippe" dans le petit casier appelé $MonPrenom.
On dit que l'on "affecte" la valeur "philippe" à la variable $MonPremon.
Le signe "=" est l'instruction qui permet de dire à l'interpréteur PHP : range la valeur "philippe" dans le casier appelé $MonPrenom.
La valeur "Philippe" étant mise entre guillemets, indique à l'interpréteur PHP que la valeur "Philippe" est de type "string" (chaîne de caractères). Dorénavant, la variable $MonPrenom, tant qu'elle contiendra la valeur "Philippe" aura le type "String" (chaîne de caractères). Et ceci jusqu'à ce qu'on décide de lui donner une valeur différente.

Si nous utilisons la variable appelée $MonPoids et que nous lui affections la valeur 70 par l'instruction :

$MonPoids = 70 ;

Sans guillemets, la valeur 70 sera considérée comme un nombre. Nous dirons alors que la variable $MonPoids est de type integer (nombre entier, ou valeur numérique entière). Et elle le restera jusqu'à ce que nous décidions de lui affecter une autre valeur à notre convenance.
 
 
Notez bien que si l'on avait écrit : $MonPoids = "70", le chiffre "70" entre guillemets, aurait signifié que "70" est une chaîne de caractères, et la variable aurait été de type string. Ce qui nous empêcherait par la suite d'effectuer des calculs sur le contenu de cette variable, puisque nous verrons que l'on ne peut effectuer d'opérations mathématiques sur les chaînes de caractères (variables de type string).

 

Si par contre, nous écrivions :

$MonPoids = 70.5 ;

La variable $MonPoids deviendra du type "double" (prononcer "dobel", c'est de l'anglais :-)) c'est à dire numérique à virgule flottante. Et nous pourrons également effectuer des calculs dessus.

Bon ! Jusqu'ici, c'est relativement naturel. Chacune et chacun comprend la différence entre chiffre et lettres.
Voyons maintenant le cas d'un de type de variable moins évident.
Imaginons une variable appelée $JeMents. et affectons lui la valeur true (vrai) par l'instruction :

$JeMents = true ;

La variable ne contient plus ni chiffre ni lettre, mais une valeur logique.
On dira alors que la variable est de type "boolean" (booléen, ou logique).
Il n'existe que deux valeurs boolean, qui sont : "true" (vrai) ou "false" (faux).
Ces valeurs purement informatiques serviront à effectuer des tests, à vérifier si une situation est vraie ou fausse.
Les mots true et false sont des mots réservés PHP. On ne pourra donc pas les utiliser comme noms de variables.

Il existe encore deux autres types de variables, mais pour l'instant, nous nous en tiendrons à ces quatre types fondamentaux pour commencer. Le principal est que vous ayez compris ce qu'est une variable et à quoi ça sert. Pour les petites curieuses et les petits curieux, vous pouvez aller voir le paragraphe suivant si vous voulez en savoir plus.

 



Plus de précisions

Pour les experts d'autres langages, ou plus simplement pour toutes celles et tous ceux qui voudraient aller un peu plus loin, si ils s'en sentent capable, nous dirons qu'il y a plusieurs précisions à apporter à ce que nous venons de dire.

En fait, il existe les types de variables suivants :

  • string (chaîne de caractères)
  • integer (nombre entier)
  • double (nombre à virgule flottante
  • boolean (valeur logique : true ou false)

que nous venons de voir. Mais il y a aussi :

  • array (tableaux de variables)
  • object (objet au sens LOO -Langage Orienté Objet-)

Seuls les types array et object doivent être déclarés. Les autres fonctionnent comme nous venons de le voir.

 



Ce cours est enseigné par Philippe Médan 
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC , 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01 40 40 36 27
au CESI à l'Ecole des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX Tél. : 01 45 36 70 00

© Philippe Médan 1999-2003. Tous droits de reproduction réservés pour tous pays.