php 对象复制
来源:互联网 发布:层次聚类 python 编辑:程序博客网 时间:2024/05/20 09:06
php 像其他的语言一样可以有变量的赋值功能,利用赋值操作符 =
一般情况下php存储变量的结构是 zval,
但是存储对象用的数据结构是:object store
在用到= 和 函数参数传递的时候,传递过来的都是zval 的指针
这个是时候两个变量使用的都是同一个对象 ,改变其中任何一个对象的值,在另一个变量指向的值中也会改变
这些赋值的复制都是浅复制
为了改变一个变量,另外一个不跟着改变,php创造了另一个操作 clone
使用clone以后会把clone对象和原来的对象使用的是不同的存储object store,但是对这个对象中使用的类还是引用类型的
可以使用魔方函数__clone(),可以在这个函数里指定应用队形的时候使用new
还有一种是串行化,可以更直接的使用
var2 = unserialize(serialize(var1))
参考:http://blog.csdn.net/clh604/article/details/11367329
这篇文章里写的非常的详尽,有相应的代码佐证,建议去看一看
0 0
- PHP的对象复制
- 78. PHP 对象复制
- php 对象复制
- php之对象复制
- php 对象复制(克隆)clone()
- php对象复制相关解析
- php对象复制原理(浅复制和深复制)
- php中系统对象的深浅复制
- php中的对象引用和复制
- PHP中的对象复制及__clone() 函数
- PHP使用clone关键字复制对象
- PHP对象的浅复制与深复制
- PHP对象的深复制与浅复制
- PHP新对象(1)--对象的复制
- PHP的对象和引用(写时复制)
- php之clone 复制对象以及__clone魔术方法
- 对象复制
- 复制对象
- Android音频实时传输与播放(三):AMR硬编码与硬解码
- SVM 入门级
- slk文件读取
- C语言中关于时间的函数
- PRML_决策论&信息论
- php 对象复制
- Android实战简易教程<二十八>(Uri转String型实例)
- 几种网页弹出层的实现
- coreseek(sphinx)错误:WARNING: attribute 'id' not found - IGNORING原因及解决方法
- 支持向量机:Kernel II
- hibernate泛型Dao,让持久层简洁起来
- CompletionService
- STL系列之六 set与hash_set
- nova 9.24会议纪要