SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Les variables

Essentiel
Variables prédéfinies
Variables Apache
Variables d'environnement
Variables PHP
Portée des variables
Les variables dynamiques
Variables externes à PHP
Formulaires HTML (GET et POST)
Bouton "submit" sous forme d'image
HTTP Cookies
Variables d'environnement
Cas des points dans les noms de variables
Détermination du type des variables

7.10.4 Les variables dynamiques
[Notes en ligne] 

Il est pratique d'avoir parfois des noms de variables qui sont variables. C'est-à-dire un nom de variable qui est affectée et utilisée dynamiquement. Une variable classique est affecté 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";
?>
    

A 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], le parseur 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.


Chapitre précédentChapitre suivantAccueil nexen.net