search
首页课程PHP Fun Breakthrough Classvariable reference

variable reference

目录列表

变量引用

关于变量引用的知识点,请以我们的讲解为理解的基准!

我们来对比两段代码的执行结果。

第一段:

<?php

$fo = 5;
//$fo的值为5,将5赋值
$bar = $fo;
//$bar的值原来为5,现在将值改为6
$bar = 6;
//$bar的结果为6
echo $bar.'<br />';
//$fo的结果为5
echo $fo.'<br />';

?>

第二段:

<?php

$fo = 5;
//注意,加上了一个&符哟
$bar = &$fo;
//给$bar赋值为6
$bar = 6;
//$bar的结果为6
echo $bar.'<br />';
//$fo的结果为6
echo $fo.'<br />';

?>

为什么两个结果都变成6了呢?

我经常跟大家这样来举例。我们可以这样来想象:一个变量名,对应了一个数据值。如下图:

}(`~26TZTU55$R`UXVMU[16.png

而加上&(and 符后),把变量指向同一个存值空间了,如下图:

F`8G5HTT2F8{RC`24`E){SD.png


也就是不论$fo或$bar的值如何发生变化,$fo变$bar也变,$bar发生变化,$fo也会发生变化。


举个不靠谱的例子,方便你来理解:

你家有只小狗,叫作旺财。又有一只小狗叫作狗蛋。有一天,狗蛋丢了。把狗蛋这个名字给了旺财,那么,你不论是打狗蛋一下,还是打旺财一下都是打的同一条狗


填写空格,输出“hello,PHP中文网”。

<?php $fo = 5; $bar = $fo; $bar = 'hello,PHP中文网'; echo $fo; ?>

1/2