动态变量

有时使用可变的变量名比较方便。就是说,一个能够被都态赋值和使用的变量名。一个普通变量的赋值语句如:

$a = "hello";
    

一个动态变量引用该变量的值作为一个新变量的名字。在上面例中, hello,可以通过双$用做变量名。例:

$$a = "world";
    

至此,两个变量被定义并存贮在PHP符号树中: $a 的内容是"hello",$hello 的内容是 "world"。 因此, 如下语句:

echo "$a ${$a}";
    

的显示结果完全等同于:

echo "$a $hello";
   

例如,它们都输出: hello world

为了在数组中使用动态变量,你不得不解决二意性的问题。即是说,在写$$a[1]时解析器需要知道,你的意思是要引用以$a[1]的值为变量名的变量呢,还是名为$$a的数组的第[1]个元素。解决此问题的办法是: 第一种情况写 ${$a[1]},第二种情况写  ${$a}[1]。