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

相关文章