• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP中对象的传值方式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

对象的传值方式:

 

为什么对于对象,值传递和引用传递,这个情况下,他们似乎没有区别???

这要从对象的数据的存储方式来理解:

$o1 = new C1(); //这里创建一个对象o1,其存储结果如图所示:

 

 

这里,实际上,变量$o1中,存储的数据只是一个“对象编号#1,这个对象编号,才会去指向对象数据new  C1();  该编号数据,我们不能控制,只是系统内部的分配。

$o2  =  $o1 作为值传递,实际复制的是该对象的编号:结果情形是:

 

在语法上,对对象变量的属性进行操作,其实就是通过该编号来指向对象而操作的。

$o1->p1  =  2; //此时,就是通过对象编号#1去修改了对象(new  C1() )本身的内部数据.

echo  $o2->p1; //此时相当于取得变量$o2所包含的编号#1中所指向的对象(new  C1() )的内部数据p1

 

 

那么,对应引用传递,情况是这样的:

$o3 = new C1(); //又创建一个对象,图示如下:

 

然后:

$o4 = & $o3; //引用传递,则其后,他们的关系图示为:

 

所以:

$o3->p1 = 2; //

echo  $o4->p1; //输出2


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php操作mysql使用的socket发布时间:2022-07-10
下一篇:
PHP常用的预定义变量发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap