Manuel PHP

Les variables dynamiques

Il est pratique d'avoir parfois des noms de variables qui sont variables. C'est-à-dire un nom de variable qui est affecté et utilisé dynamiquement. Une variable classique est affectée avec l'instruction suivante :

Example#1 Une variable classique

  1. <?php
  2. $a = 'bonjour';  
  3. ?> 

Une variable dynamique prend la valeur d'une variable et l'utilise comme nom d'une autre variable. Dans l'exemple ci-dessous, bonjour peut être utilisé comme le nom d'une variable en utilisant le "$$" précédent la variable. C'est-à-dire :

Example#2 Les variables variables

  1. <?php
  2. $$a = 'monde';  
  3. ?> 

À ce niveau, deux variables ont été définies et stockées dans l'arbre des symboles PHP : $a avec comme valeur "bonjour" et $bonjour avec comme valeur "monde". Alors, l'instruction :

Example#3 Equivalent de variables variables

  1. <?php
  2. echo "$a ${$a}";  
  3. ?> 

produira le même affichage que :

Example#4 Equivalent de variables variables

  1. <?php
  2. echo "$a $bonjour";  
  3. ?> 

c'est-à-dire : bonjour monde.

Afin de pouvoir utiliser les variables dynamiques avec les tableaux, vous avez à résoudre un problème ambigu. Si vous écrivez $$a[1], l'analyseur a besoin de savoir si vous parler de la variable qui a pour nom $a[1] ou bien si vous voulez l'index [1] de la variable $$a. La syntaxe pour résoudre cette ambiguïté est la suivante : ${$a[1]} pour le premier cas et ${$a}[1] pour le deuxième.

Warning

Notez que les variables dynamiques ne peuvent pas être utilisées avec les tableaux Superglobaux de PHP.


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog