PHP对象默认按引用传递
2013-03-12 11:17
309 查看
[摘自网络http://hi.baidu.com/luanxian/blog/item/c79839fa62cbfc1ca8d31194.html]
1。
php5中对象被存储在结构体zend_objects_store中。
对对象的处理已经从其他类型的变量中独立出来。
在php4时,把对象看成和其他类型一样,也存储在zval中。
2。
php5对象默认通过引用传递,其他类型的变量默认拷贝传递。
php4对象和其他类型的变量都默认拷贝传递。
如:$obj1=$obj2;
结果为创建一个$obj2的引用。$obj1和$obj2指向同一内存空间。
若想拷贝一个对象,需使用clone关键字。
如:$copy_of_object = clone $object;。
附:
php5把对象的传递默认为引用。我想主要是考虑到脚本的执行效率。
因为一方面平时对对象的操作,引用已经够用。
另一方面拷贝一个对象所花的代价要比引用大的多,
包括申请内存空间、初始化等。
1。
php5中对象被存储在结构体zend_objects_store中。
对对象的处理已经从其他类型的变量中独立出来。
在php4时,把对象看成和其他类型一样,也存储在zval中。
2。
php5对象默认通过引用传递,其他类型的变量默认拷贝传递。
php4对象和其他类型的变量都默认拷贝传递。
如:$obj1=$obj2;
结果为创建一个$obj2的引用。$obj1和$obj2指向同一内存空间。
若想拷贝一个对象,需使用clone关键字。
如:$copy_of_object = clone $object;。
附:
php5把对象的传递默认为引用。我想主要是考虑到脚本的执行效率。
因为一方面平时对对象的操作,引用已经够用。
另一方面拷贝一个对象所花的代价要比引用大的多,
包括申请内存空间、初始化等。
相关文章推荐
- php 数组 类对象 值传递 引用传递 区别
- PHP中对象是按值传递还是按引用传递?
- php数组和对象的值传递和引用传递
- php 数组 类对象 值传递 引用传递 区别
- php值和对象的值传递和引用传递
- php 数组 类对象 值传递 引用传递 区别
- php 数组 类对象 值传递 引用传递 区别
- [转载]php 数组 类对象 值传递 引用传递 区别
- php中对象是引用类型吗?
- php中引用&的真正理解-变量引用、函数引用、对象引用
- php中引用&的真正理解-变量引用、函数引用、对象引用
- 使用表单传递参数,request处理参数出现"未将对象引用设置到对象的实例
- PHp引用,函数引用,对象引用
- php中引用&的真正理解-变量引用、函数引用、对象引用
- php中引用传递理解
- php中引用&的用法分析【变量引用,函数引用,对象引用】
- 如何将php数组或者对象传递给javascript
- php 引用传递、引用返回和取消引用以及unset
- php中引用&的真正理解-变量引用、函数引用、对象引用
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变