PHP 变量和常量:可变变量
问题
在 PHP 编程中,我们是否可以更加灵活地使用变量呢?
回答
在 PHP 编程中,我们可以使用一种叫可变变量的独特变量。由于它允许动态改变一个变量的名称,所以它可以帮助我们在 PHP 编程中灵活地使用变量,但是这个功能和 goto 语句一样,如果滥用的话容易造成逻辑混乱。
语法
首先我们可以通过正常的方式声明一个变量:
$var = 'Hello';
然后我们可以通过在 $var 前面再加一个 $ 得到可变变量:
$$var = 'world!'
此时的 $$var 和 $Hello 是等价的:
$$var === $Hello // 他们的值都为 string(5) "world"
因此,此时我们可以使用 $Hello 来动态引用 $$var。
示例
例 1 —— 一般使用
<?php
$var = 'Hello';
$$var = 'world';
echo "$var ${$var} <br>";
echo "$var $Hello";
运行结果:
Hello world
Hello world
bool(true)
提示
在 PHP 的函数和类的方法中,超全局变量 $GLOBALS 不能用作可变变量。$this 变量也是一个特殊变量,不能被动态引用。
PHP 社区 Wiki
关于 LearnKu
推荐文章: