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

更新時間:19-Sep-2020

2K+ 瀏覽

開啟你的 職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.