PHP 手冊
上一頁 | 章 7.各類變數 | 下一頁

# 可變變數

有時候，可以使用可變變數會令到工作更加方便。也就是就，一個變數的名可以被動態的設定和使用。一個普通的變數是以下列的方法設定：

`<?php $a = "hello"; ?>`

一個可變變數是以另一個變數的值作為它的變數名。在上述例子中，只要加兩個 $ 在 hello 的前面就可把它當作是一個變數的名來使用了。即：

`<?php $$a = "world"; ?>`

這時，有兩個變數被定義然後儲存在 PHP 的符號表中：含有 "hello" 的 $a 及含有 "world" 的 $hello。所以，此敘述：

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

與下列這句有著同樣的輸出：

`<?php echo "$a $hello"; ?>`

即，它們都輸出：`hello world`。

為了要在陳列中使用可變變數，您必須首先解決一個模糊的問題。比方說，如果您使用 $$a[1]，那剖析器必須知道您是想當 $a[1] 是變數來使用，還是當 $$a 是變數，然後指向那個變數的第 [1] 個索引。解決上述模糊問題的語法是：第一個情況使用 ${$a[1]}、第二個情況使用 ${$a}[1]。

切記!
必須留意的是，可變變數是不能使用於 PHP 的 Superglobal 陳列。這表示您不能使用 ${$_GET} 這樣的敘述。如果您真的想使用 superglobals 和舊的 HTTP_*_VARS，您可以嘗試以參照的方式使用。

上一頁 | 最開頭 | 下一頁
變數範圍 | 上一層 | 來自 PHP 以外的變數