PHP 引用
phpserver side programmingprogramming更新于 2025/8/19 17:07:17
简介
在 PHP 中,引用 允许使用不同的名称访问相同的变量内容。它们与 C/C++ 中的指针不同,因为无法使用它们执行算术运算。在 C/C++ 中,它们是实际的内存地址。相比之下,在 PHP 中,它们是符号表的别名。在 PHP 中,变量名和变量内容不同,因此相同的内容可以具有不同的名称。引用变量是通过在原始变量前添加 & 符号来创建的。因此 $b=&$a 表示 $b 是 $a 的引用变量。
通过引用赋值
以下示例中,两个变量引用相同的值
示例
<?php $var1=10; $var2=&$var1; echo "$var1 $var2
"; $var2=20; echo "$var1 $var2
"; ?>
输出
其中一个值的改变也会反映在另一个值中
10 10 20 20
如果通过引用赋值、传递或返回未定义的变量,该变量会被创建。在函数内部将引用赋给声明为全局变量的变量,该引用仅在函数内部可见。在 foreach 语句中将值赋给带有引用的变量时,引用也会被修改。
示例
<?php $arr=[1,2,3,4,5]; $i=&$ref; foreach($arr as $i) echo $i*$i, "
"; echo "ref = ". $ref; ?>
输出
$ref 的值存储的是数组中最后一个元素的值
1 4 9 16 25 ref = 5
以下示例中,数组元素是对数组初始化前声明的各个变量的引用。如果修改了元素,变量的值也会改变。
示例
<?php $a = 10; $b = 20; $c=30; $arr = array(&$a, &$b, &$c); for ($i=0; $i<3; $i++) $arr[$i]++; echo "$a $b $c"; ?>
输出
$a、$b 和 $c 的值也会递增
11 21 31

