有些時候使用變化變量是十分方便的。也就是說,一個變量的名字將被動態的設置和使用。一個普通的變量將會使用如下的申明:
$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]”(對上述的第二種情況)。