PHP
PHP / MySql

Recherche
 
ManuelPHP.com

Portée des variables
<<<
Les variables dynamiques Variables externes à PHP
>>>

5.3 Les variables
5 Référence du langage
 Manuel PHP

Essentiel
Variables pré-définies
Portée des variables
->Les variables dynamiques
Variables externes à PHP

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

Une variable classique

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

Les variables variables

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

Equivalent de variables variables

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

produira le même affichage que :

Equivalent de variables variables

<?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 ambigü. 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.

Attention

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

<< Les variables dynamiques >>
Portée des variables Les variables Variables externes à PHP





Google

Services webmasters

Les manuels
 

ManuelPHP.com © 2003-2012 Tigersun - Crédits
Webmaster Site Internet - Télécharger des Logiciels - Programme TV - Entraide Informatique - Agence de Communication
2020-07-11