什麼是可變變數?
在PHP中有一個其他類型的變數,“可變變數”。可變變數是一種PHP獨特的變數,他允許動態改變一個變數的名稱。
可變變數的工作原理
這個特性的工作原理是用一個變數的值作為另一個變數的名稱。例如,我們可以設定$str的值:
$name = 'str';
於是,我們就可以用
name 取代$str。
name = 5;
這個代碼等價於:
$str= 5;
使用方法
使用可變變數就是在變數的前面多加一個貨幣符號“$”。
數組使用可變變數
為了使用數組的可變變數名,你需要解決一個歧義問題。就是,如果你寫$$a[1],解析器需要明白究竟你的意思是要把$a[1]當成一個變數,還是要把$$a當成變數、[1]指的是這個變數的索引。解決這個歧義問題的文法是:第一種情況使用${$a[1]},第二種情況使用${$a}[1]
類屬性也可以通過可變屬性名稱來訪問。可變屬性名稱從產生調用所在的變數的存取範圍內擷取。例如,如果你的運算式是這樣的:$foo->$bar,那麼運行時將會在本地變數範圍內尋找變數$bar,它的值將會做為$foo對象的一個屬性名稱。如果$bar是個數組也可以使用。
可變變數名不能用於PHP函數和類裡的超級全域陣列變數上。變數$this也是一個不能動態取名的特殊變數。
執行個體
下面的執行個體使用可變變數改變變數的名稱。代碼如下:
<?phpheader("content-type:text/html;charset=utf-8"); //設定編碼$str='trans'; //聲明變數$str$trans='topic.alibabacloud.com'; //聲明變數$transecho $str; //輸出變數$strecho "<br/>";echo $$str; //通過可變變數輸出$trans的值?>
執行個體詳解:
首先定義兩個變數$str和$trans,並且輸出變數$str的值,然後使用可變變數來改變變數$str的名稱,最後輸出改變名稱後的變數值
運行結果如下:
上面就是對可變變數的簡單用法,下一節,為大家介紹“PHP的預定義變數”
相關視頻教程推薦:《php.cn獨孤九賤(4)-php視頻教程》可變變數:為建立新變數提供了一種新思路