php的三种变量赋值方式
发布时间:2022-10-12 12:43:56 所属栏目:PHP教程 来源:
导读: php语言有三种变量的赋值方式,传值赋值,引用赋值PHP变量,计数赋值。
传值赋值:
php变量其实就是一个地址的别名而已,如同$a就是一个内存中的地址的别名,比如是0x000011,$b就是另一个地址,
传值赋值:
php变量其实就是一个地址的别名而已,如同$a就是一个内存中的地址的别名,比如是0x000011,$b就是另一个地址,
|
php语言有三种变量的赋值方式,传值赋值,引用赋值PHP变量,计数赋值。 传值赋值: php变量其实就是一个地址的别名而已,如同$a就是一个内存中的地址的别名,比如是0x000011,$b就是另一个地址,$a = $b就是把0x000011地址内存里的数据取出来放到$b所指向的地址中,当unset一个变量以后,就会把这个变量名和地址之间的联系断掉,此时操作系统就会执行垃圾回收,把这个地址的数据清理掉。 引用赋值: php的引用赋值就是把另一个变量和当前的变量指向同一个地址,当修改两个变量中的任何一个数值的时候都会造成两个数据的变化。 计数赋值: 和Javascript一样,对象都是采用计数赋值的,当$a = new object()以后,就会在栈上开一个变量$a,此时的$a的值是一个地址,指向堆上的一块内存,这块内存上边是这个对象的一个实例,当$b = $a以后就会使得$b中的值也是堆得内存的地址。此时如果你unset掉$a以后,只是把栈上的$a清理掉而已,堆上的内存依然存在,只有你把$b也unset掉,才会使得$a和$b都没办法指向到这个对象,此时这个对象就没有办法得到,在c语言里这个叫做内存泄露,在Java和C#里都有自动垃圾回收机制,这个泄露的内存都会被自动回收,php也是一样,也会在没有变量指向这个堆上的内存以后就会被自动回收掉。 这三种赋值方式分别在什么场合下出现呢? 传值赋值一般在普通的原子变量以及数组时候就是传值赋值,引用赋值在你加上&作用符的时候就会生效,计数赋值在php中在资源文件和对象中存在。 发表这篇博客是希望大家对程序的底层有点了解,这样子才对计算机有更深的了解,写出更高效的网站以及软件。 (编辑:天瑞地安资讯网_保定站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


