php变量引用(C语言指针辅助理解)

变量引用

变量引用可以用C语言中的指针的概念来理解。

其实我感觉还是把它理解成一个指针就好。如果你没学过C语言,可以参考以下案例

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

我们来对比两段代码的执行结果:
第一段代码,没有任何区别。跟我们原有的PHP代码一模一样:

<?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
echo $bar.'<br />';
//$fo的结果为6
echo $fo.'<br />';

?>

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

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

-08-02/55bdc64daf9e3

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

-08-02/55bdc2f9b

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

举个不靠谱的例子,方便你来理解:
你手机上有个应用,叫作明月影院。又有一个应用叫明月小窝。有一次明月想不开。把两个合并了就叫明月小窝

那么,你不论是要打开明月影院还是明月小窝,都是打开的同一个应用。

PS:忽略掉这个比喻吧。。。

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)

sitemap