zoukankan      html  css  js  c++  java
  • PHP中对象的传值方式

    对象的传值方式:

     

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

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

    $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

  • 相关阅读:
    DRF 版本和认证
    DRF 视图和路由
    DRF 序列化组件
    RESTful
    Vuex以及axios
    npm、webpack、vue-cli
    Vue 生命周期
    Vue Router
    Vue 组件
    Vue 快速入门
  • 原文地址:https://www.cnblogs.com/457248499-qq-com/p/7375551.html
Copyright © 2011-2022 走看看