PHP对象默认按引用传递

[摘自网络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把对象的传递默认为引用。我想主要是考虑到脚本的执行效率。
因为一方面平时对对象的操作,引用已经够用。
另一方面拷贝一个对象所花的代价要比引用大的多,
包括申请内存空间、初始化等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值