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+ 浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告