Accueil > PHP > PHP – Les variables

PHP – Les variables

This entry is part 5 of 7 in the series PHP - Tutoriel
  1. Introduction
  2. Variables dynamiques
  3. Références
  4. Types de données

Introduction

Une variable sert à stocker des données temporaires. C’est à dire que ces données seront perdues entre

deux appels du script.

En PHP, la syntaxe des variables est très étendue, car elle est inpirée de plusieurs langages, notament

du Perl et du C.

Ainsi, les Perliens ne seront pas dépaysés, puisqu’en PHP, les variables débutent par le symbole $

(dollars). Les noms des variables peuvent être composés des lettres de l’alphabet, de nombres, et du caractère

de soulignement.

Voici des noms de variables corrects :


$i

$premier_passage

$telephone1

$telephone2

Pour affecter une valeur à une variable, on utilise l’opérateur = (égal).

Le PHP est un langage non typé. Il n’y a donc pas de déclaration de type comme il peut y en avoir en C.

Il suffit d’indiquer la variable, et de lui affecter une valeur :


$password = "jamesbond007";

print $password;

Cette exemple affiche :


jamesbond007

On peut aussi affecter la valeur d’une variable à une autre variable :


$var1 = "JO";

$var2 = $var1;

print $var2;

Cela affiche :


JO

On peut aussi affecter une même valeur à plusieurs variables d’un seul coup, comme en C :


$var1 = $var2 = $var3 = "Waza";

echo $var1, $var2, $var3;

Résultat :


WazaWazaWaza

Variables dynamiques

En C, on entend par variable dynamique (ou plutôt par tableau dynamique), une variable qui peut avoir une

taille modifiable dans le temps.

En PHP, le dynamisme des variables n’a pas le même sens. Il s’agit en fait de pouvoir jouer avec les noms des

variables.

En effet, regarder cet exemple :


$citation = "T'es comme le H de Hawai, tu sers à rien :-) ";

print ${"citation"};

Résultat :


T'es comme le H de Hawai, tu sers à rien :-) 

En peut faire encore plus fort :


$citation = "T'es comme le H de Hawai, tu sers à rien :-) ";

$var = "citation";

print $$var;

Cela nous donne encore :


T'es comme le H de Hawai, tu sers à rien :-) 

Ou encore mieux :


$citation = "T'es comme le H de Hawai, tu sers à rien :-) ";

$var = "citation";

$finalement = "var";

print $$$finalement;

Nous pourrions multiplier les exemples à l’infini (ou presque : ça dépend de la memoire et de la place disponible

sur la pile de votre machine).

Vu comme ça, cela peut paraitre inutile. Mais il peut y avoir quelques applications interessantes, notament

avec l’utilisation de boucles.

Références

Le PHP permet d’établir des références entre variables. Cela peut paraitre similaire aux pointeurs du C,

mais il y a quelques petites différences. En fait, comme il est écrit dans le manuel officiel de PHP, « les

références sont des alias dans la table des symboles. Le nom de la variable et son contenu ont des noms

différents, ce qui fait que l’on peut donner plusieurs noms au même contenu. »

Pour établir une référence, on utilise l’opérateur & (et commercial, ou esperluette :-) devant la variable.

Ainsi :


$hello = "Hello";

$bonjour = "Bonjour";

echo $hello, $bonjour, "<br>";

$hello = &$bonjour;

echo $hello, $bonjour, "<br>";

$hello = "Buenos Dias";

echo $hello, $bonjour, "<br>";

$hello = "Guten Tag";

echo $hello, $bonjour, "<br>";

Résultat :


HelloBonjour

BonjourBonjour

Buenos DiasBuenos Dias

Guten TagGuten Tag

On se rend compte qu’après la ligne $hello = &$bonjour;, on peut utiliser soit la variable $hello,

soit la variable $bonjour, cela revient au même : elles désignent le même contenu.

Cela peut sembler inutile, mais lorsque nous étudierons les fonctions, cela sera plus parlant.

Types de données

Bien que le PHP soit non typé, les données ont cependant des types. Ainsi, on distinguera 8 de "8",

4 de 4.00.

Il existe 6 types de données :

Les types de données dans PHP

Type

Description

Exemple

integer

Nombres entiers

8

string

Chaînes de caractères

"8"

double

Nombre à virgules flottante (nombres décimaux)

8.00

boolean

Valeur logique, soit true, soit false

true

array

Tableaux

array(1, 2, 3);

integer

Nombres entiers

8

object

Objets

class myclass {};

new myclass();

Nous étudierons les types boolean, array et object plus loin.

Pour connaitre le type d'une donnée, on utilise la fonction gettype(). Cette fonction ne prend

qu'un seul argument qui doit être la variable ou la donnée à tester.

Voici un exemple :


class myclass {};

echo	gettype(8), "<br>",

	gettype("8"), "<br>",

	gettype(8.00), "<br>",

	gettype(true), "<br>",

	gettype(array()), "<br>";

	gettype(myclass()), "<br>";

Ce qui nous donne :


integer

string

double

boolean

array

object

Note : on a utilisé la fonction echo sur plusieurs lignes, ce qui est possible et simplifie

les choses.

On peut aussi modifier le type d'une variable. En C, on appelle ceci le casting.

Pour modifier le type de la variable lui même, on utilise la fonction settype(). Voici la syntaxe de

cette fonction, d'après le manuel PHP :


int settype(mixed var, string type)

Le premier argument, var, peut être de n'importe quel type (c'est le but). Le deuxième argument

doit être une chaîne de caractères representant le type dans lequel convertir la variable. La fonction renvoi

true si l'opération de transtypage a été réussie, sinon false.

Exemple :


$pi = 3.141592654858;

echo $pi, "<br>";

settype($pi, "integer");

echo $pi, "<br>";

Résultat :


3.14159265458

3

On peut aussi modifier le type à l'aide de la syntaxe suivante :


$var = (type) $var

On place le type entre parenthèses (sans guillemets) devant la variable.

Ainsi :


$var = 3.14159265458;

$new = (integer) $var;

echo $new;
Series Navigation«PHP – Un premier scriptPHP – Les commentaires»
Categories: PHP Tags:
  1. zarbi27
    15/04/2002 à 18:55 | #1

    Moi je dis que le PHP est calqué sur QBasic: on y change quelques petites choses par-ci, par-là (comme le $ au début au lieu d’être à la fin de la variable) mais je ne suis pas dupe! lol

  2. cybwarrior
    15/04/2002 à 19:37 | #2

    Calqué peut-être pas : en QBasic, le $ sert à distinguer les variables chaînes de caractères, c’est tout.
    En PHP, ce sont toutes les variables qui commencent par $. La syntaxe des variables est plutôt calquée sur celle du Perl je trouve.

  3. 10
    16/09/2005 à 19:06 | #3

    Realy good site!

  4. 10
    19/03/2006 à 21:08 | #4

    Very nice and informative website.

  1. Pas encore de trackbacks