文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
3.3.5 变量引用
变量引用很多老师喜欢来用 C 语言的指针来去讲解。我们作为有这么多年开发和教学经验的人来说——大多数学习 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 了呢?
我经常跟大家这样来举例。我们可以这样来想象:一个变量名,对应了一个数据值。如下图:
而加上&(and 符后),把变量指向同一个存值空间了,如下图:
也就是不论$fo 或$bar 的值如何发生变化,$fo 变$bar 也变,$bar 发生变化,$fo 也会发生变化。
举个不靠谱的例子,方便你来理解:
你家有只小狗,叫作李文凯。又有一只小狗叫作狗蛋。有一天,你把狗蛋给吃了。把狗蛋这个名字给了李文凯
那么,你不论是打狗蛋一下,还是打李文凯一下都是打的同一条狗。
注:如果你理解、了解、熟悉 C 语言的指针。可自行用指针方式来理解,不在本文的讨论范围内。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论