PHP 變數變數
簡介
在 PHP 中,可以動態地設定變數名。此類變數採用現有變數的值作為名稱。使用一個 $ 符號作為字首來定義變數變數。
示例
<?php $var1="xyz"; //normal variable $$var1="abcd";//variable variable echo $var1 . "
"; echo $$var1 . "
"; echo "{$$var1} $xyz"; ?>
輸出
此指令碼生成以下輸出
xyz abcd abcd abcd
請注意 $$var1 的值與 $xyz 相同,xyz 是 $var1 的值。
不能將普通變數的數值用作變數變數
示例
<?php $var1=100; //normal variable $$var1=200;//variable variable echo $var1 . "
"; echo $$var1 . "
"; echo $100; ?>
輸出
執行此指令碼時,會顯示以下結果
PHP Parse error: syntax error, unexpected '100' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' line 6還可以根據陣列下標定義一個變數變數。在以下示例中,使用普通陣列的第 0 個元素定義了變數變數
示例
<?php
$var1=array("aa","bb"); //normal variable
${$var1[0]}=10;//variable variable with array element
echo $var1[0] . "
";
echo $aa . "
";
echo ${$var1[0]} . "
";
?>輸出
這將產生以下結果 -
aa 10 10
還可以使用變數屬性名訪問類屬性。此功能在屬性名由陣列組成的場景中很有用。
示例
<?php
var $u = "Architecture";
var $ugCourses = array("CSE","MECH","CIVIL");
$obj = new branches();
$courses = "ugCourses";
echo $obj->{$courses[0]} . "
";
echo $obj->{$courses}[0] . "
";
?>輸出
這將產生以下結果 -
Architecture CSE
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP