PHP 变量和常量:变量的引用赋值 1 个改进

问题

如果我们希望通过改变一个变量的值引起另一个变量的值改变,那么我们可以怎么做呢?

回答

我们可以使用引用符 & 将一个变量指向的内容引用赋值给另一个变量,从而通过另一个变量改变其值。

示例

例 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 的改变。

参考

PHP 赋值运算符

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!