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 :

<?php
$a 
'bonjour';
?>

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 :

<?php
$$a 'monde';
?>

� 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 :

<?php
echo "$a ${$a}";
?>

produira le m�me affichage que :

<?php
echo "$a $bonjour";
?>

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.

Avertissement

Notez que les variables dynamiques ne peuvent pas �tre utilis�es avec les tableaux Superglobaux dans une fonction ou une classe. La variable $this est aussi une variable sp�ciale qui ne peut �tre r�f�renc�e dynamiquement.