`
bardo
  • 浏览: 378191 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11805
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10111
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9498
社区版块
存档分类
最新评论

通俗讲解PHP引用

    博客分类:
  • PHP
阅读更多

一个变量,实际在程序中是有三部分组成的。其一是名称,其二是地址,第三,在此地址的存储空间中保存的内容。
变量,实际是申请一个存储空间,并给这个存储空间起一个名字。
我们用一组U盘来做比方。首先,我们给U盘编号,1,2,3,4。假如就有这4个U盘。
那么,现在所说的,1号U盘,与我们计算机中用储存地址访问是一样的。所以,我们把U盘编号当成计算机内存中的物理地址,
如果这样可以理解,接下来,我们说变量。我们要用的第一个变量,就是1号U盘。所以程序中给个名字是A。这时,变量名就是A。
当我们用第二个变量,是用2号U盘。给个名字是B。这时,就是另一个新变量。
然后,我们把1号U盘借给同事,在他那,给个名字是C。他也就是使用了你的原有的A变量。这时,程序就是 $A=&$C
由此可以看出,&是取已知变量的地址作为他的地址。从而实现了对同一地址内容的操作。
我们来看看D,是指的4号U盘。其中内容是:内容在1号U盘。(我们看到这个信息,肯定能够找到我们所要的。)
这就是说,4号U盘中保存的是一个地址。变量中,如果数据区保存的是到另一变量的地址。这种方式叫指针。
所以,引用是变量的别名,而指针是保存的地址。
有指针的指针。但没有指针的引用。因为根本没有必要。同样,引用的引用,仍是引用。如同你有N个网名。可以说都是你的网名,也可以说是你网名的网名。
从程序角度说,无论引用还是指针,均是由地址操作来实现的。
PHP引用不能理解也在这里,因为PHP不讲&号的二重用途。变量定义中, &表示的是引用。 PHP中好象没有引用的变量定义。 只有引用形参定义。即: func(& $a)
但, $a = &&b 这不是引用定义, 而实际是一个操作符。 叫 取地址。这就是说, $a 取 $b 的地址。说成大白话,那就是, $a 是 $b的一个别名。
最后:关于变量生死的问题。如果我们封杀网上某个ID,这个人不会死。而我们如果说要销掉某人的户口,则此人已经死了。或被死掉了。所以,对于前面的那行代码,unset($a),$b仍继续存在。unset($b);则$a肯定同时没有了。
PHP中只有引用,没有指针。当我们给函数传入变量,同时又要将此变量传出时,就完全可以使用引用。PHP5中,对象是默认用引用传递的。所以,对象有__clone方法,在需要时复制。在不同的作同域希望同时操作一个变量,可以使用引用。更多的,你可以查看PHP的手册了。

分享到:
评论
1 楼 z32556601 2011-11-17  
unset($a),$b仍继续存在。unset($b);则$a肯定同时没有了。
这句话是错的.
unset($b),$a仍然存在.

相关推荐

    通信理论通俗讲解

    3个文档: 无线通信原理通俗解读1.pdf 无线词语解释通俗解剖版2.pdf 无线网络规划通俗讲解 3.pdf 作者用通俗的语言讲解了很多通信里面枯燥的概念,写的太棒了。比大学很多教材好看多了。感谢这些多才的牛人们!

    通俗讲解计算机语言及面向对象

    ### 通俗讲解计算机语言及面向对象 在计算机科学领域,理解和掌握编程语言是至关重要的,尤其是面向对象编程语言,如Java。本文旨在深入浅出地解释面向对象编程的基本概念,帮助读者建立对这一主题的全面认识。 ##...

    通俗讲解函数式编程

    一个不知道从哪个git上down下来的函数式编程的入门文档,感觉看着比一些官方讲的东西有用太多,分享出来给大家

    SVPWM的通俗讲解

    ### SVPWM通俗讲解及其应用 #### 一、引言 空间矢量脉宽调制(SVPWM)是一种用于控制三相交流电机的有效方法,尤其是针对三相同步永磁电机(PMSM)。通过合理控制电机各相绕组中的电流,可以确保电机稳定且高效地运行...

    PID算法通俗讲解知识讲解.pdf

    PID 算法通俗讲解 PID(Proportional-Integral-Differential)算法是控制系统中经常使用的一种反馈控制算法,广泛应用于工业自动控制、机器人控制、计算机控制等领域。下面是 PID 算法的通俗讲解。 一、PID 算法的...

    一个关于项目管理的通俗讲解

    一个关于项目管理的通俗讲解

    源码通俗讲解Java绘图功能机制以及绘图框架的源码

    通俗讲解Java绘图功能机制以及绘图框架的源码

    5G技术通俗讲解

    互联网改变了世界,移动互联网重新塑造了生活,“在 家不能没有网络,出门不能忘带手机”已成为很多人的 共同感受。人们对动互联网的要求是更高速、更便捷、 更强大、更便宜,需求的“更”是没有止境的,这促使着 ...

    观察者模式 通俗易懂讲解

    文档加代码,如果看完pdf,观察者模式还没学会,感觉你没必要学设计模式了,文档非常通俗易通,适合新手上手。

    穷移动通信之理(通俗讲解)

    非常通俗的语言介绍通信原理,科普类的,专业性较差

    通俗讲解电子电路.zip

    本篇将对电子电路的基础知识进行通俗易懂的讲解。 一、电路基本概念 电路是由电源、负载、导线和控制设备组成的系统,它们之间通过电流进行能量传输。电源提供电能,负载消耗电能,导线连接各部分,控制设备则用于...

    PID通俗易懂的讲解

    "PID通俗易懂的讲解.doc"文档可能提供了更详细的理论解释和实例分析,包括如何调整PID参数来优化控制性能。而"pid.txt"文件可能包含有关PID控制器的额外信息或实验数据。 总的来说,PID控制器以其简单和广泛的适用...

    【网络术语的通俗讲解】--帮你透彻理解计算机网络

    计算机网络是现代社会中不可或缺的一部分,它使得全球的信息交流变得便捷高效。本文将通过生动的比喻,帮助你透彻理解计算机网络中的几个核心概念。 首先,我们生活在“本地主机”(你的电脑)所在的“本地局域网”...

    PYTHON学习教程 通俗易懂的讲解

    PYTHON学习教程 通俗易懂的讲解

    通俗讲解Docker容器化技术.rar

    讲解当前火热的容器化技术

    PFMEA通俗讲解

    PFMEA通俗讲解 PFMEA(Potential Failure Mode and Effects Analysis,潜在失效模式及后果分析)是一种系统化、文件化、持续的、预防性的活动,旨在对产品设计和过程设计阶段的弱点和缺陷进行分析,并采取必要的...

Global site tag (gtag.js) - Google Analytics