PHP 变量和常量:变量的引用赋值
问题
如果我们希望通过改变一个变量的值引起另一个变量的值改变,那么我们可以怎么做呢?
回答
我们可以使用引用符 &
将一个变量指向的内容引用赋值给另一个变量,从而通过另一个变量改变其值。
示例
例 1 —— 普通赋值
<?php
$bar = 10;
echo '$bar = ' . $bar . '<br>';
$foo = $bar; // 这里我们直接将 $bar 赋值给 $foo
echo '$foo = ' . $foo . '<br>';
$foo = 100;
echo '$bar = ' . $bar . '<br>';
echo '$foo = ' . $foo . '<br>';
例 1 运行结果:
$bar = 10
$foo = 10
$bar = 10
$foo = 100
从例 1 的运行结果可以看出,普通的赋值后,$foo
的改变不能引起 $bar
的改变。
例 2 —— 引用赋值
<?php
$bar = 10;
echo '$bar = ' . $bar . '<br>';
$foo = &$bar; // 这里我们将 $bar 引用赋值给 $foo
echo '$foo = ' . $foo . '<br>';
$foo = 100;
echo '$bar = ' . $bar . '<br>';
echo '$foo = ' . $foo . '<br>';
运行结果:
$bar = 10
$foo = 10
$bar = 100
$foo = 100
从例 2 的运行结果中我们可以看出,通过引用赋值后,$foo
的改变能引起 $bar
的改变。