PHP 引用


简介

在 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

更新于:2020 年 9 月 18 日

4K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.