LeoYao 4年前

修改理由:

内容尚空

此投稿已在 4年前 合并。

内容修改:

红色背景 为原始内容

绿色背景 为新增或者修改的内容

OldNewDifferences
1 
 1## 问题
 2
 3在 PHP 编程中,我们是否可以更加灵活地使用变量呢?
 4
 5## 回答
 6
 7在 PHP 编程中,我们可以使用一种叫**可变变量**的独特变量。由于它允许动态改变一个变量的名称,所以它可以帮助我们在 PHP 编程中灵活地使用变量,但是这个功能和 `goto` 语句一样,如果滥用的话容易造成逻辑混乱。
 8
 9## 语法
 10
 11首先我们可以通过正常声明一个变量:
 12
 13```
 14$var = 'Hello';
 15```
 16
 17然后我们可以通过在 `$var` 前面再加一个 `$` 得到可变变量:
 18
 19```
 20$$var = 'world!'
 21```
 22
 23此时的 `$$var` 和 `$Hello` 是等价的:
 24
 25```
 26$$var === $Hello // 他们的值都为 string(5) "world"
 27```
 28
 29因此,此时我们可以使用 `$Hello` 来动态引用 `$$var`。
 30
 31## 示例
 32
 33### 例 1 —— 一般使用
 34
 35```php
 36<?php
 37
 38$var = 'Hello';
 39
 40$$var = 'world';
 41
 42echo "$var ${$var} <br>";
 43
 44echo "$var $Hello";
 45```
 46
 47运行结果:
 48
 49```
 50Hello world
 51Hello world
 52bool(true)
 53```
 54
 55## 提示
 56
 57在 PHP 的函数和类的方法中,**超全局变量** `$GLOBALS` 不能用作可变变量。`$this` 变量也是一个特殊变量,不能被动态引用。