什么是可變變量?
在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也是一個不能動態取名的特殊變量。
實例
下面的實例使用可變變量改變變量的名稱。代碼如下:<?php
header("content-type:text/html;charset=utf-8"); //設置編碼
$str='trans'; //聲明變量$str
$trans='PHP中文網'; //聲明變量$trans
echo $str; //輸出變量$str
echo "
";
echo $$str; //通過可變變量輸出$trans的值
?>
實例詳解:
首先定義兩個變量$str和$trans,并且輸出變量$str的值,然后使用可變變量來改變變量$str的名稱,最后輸出改變名稱后的變量值
運行結果如下:
上面就是對可變變量的簡單用法,下一節,為大家介紹“PHP的預定義變量”
相關視頻教程推薦:《php.cn獨孤九賤(4)-php視頻教程》可變變量:為創建新變量提供了一種新思路