• $a = &$b


    看时间前后,一般以后面时间赋值的那个为准,一个改变,另一个也改变了
    $b = &$a;
    $b = 100; (这句话不是给$b赋值100, 而是给$b所存储的地址的空间的变量和变量代码赋值)
    $a = 100; (这个时候 当$a被别人引用后, 所有给他的赋值, 那指向他的变量-地址变量-也会有所反映的)
    ============
    $a = 100;
    $b = &$a;

    $b 是一块内存的代号,这个内存里包含的一个4字节的地址编码,

    这个地址所对应的空间才是真正内容所保存的地方。当我们访问$b的时候,系统操作系统或者底层的代码会获得$b所对应的地址,然后把这个地址所对应的值返回给这个变量,方便我们操作,这个就是高级语言的特征,不然直接操作地址,就是机器语言或者很底层的语言了。

    -----

    $a直接对应一个数字,因为如果数字一般比较小,如果还要去引用另一块空间,太麻烦了。

    ------------------------------

    这么说吧 如果给$b = 100, 那$a 也会 = 100,

    但如果让$b = 100, 然后让$a = 200, 那最后$b就会变成200,

    因为 $a 所保存的实际上是$b的地址,然后操作地址的话,值自然也就操作改变了。

    -----

    $a = 100;

    $b = &$a;

    var_dump($a);

    $b = 200;

    $a = 300;

    var_dump($b);

    100-200-300- 一直在变化---

    可以这么理解,变量对应的地址,然后地址对应的才是变量,中间这一环是系统帮我们完成的,

    看山不是山

  • 相关阅读:
    [swustoj 243] 又是一年CET46
    [转] 解析Qt资源文件使用
    [转] Qt 多线程学习
    USACO全部测试数据
    [HUD 1195] Open the Lock
    Vue-cli+webpack单页模式详解(转)
    关于vs code终端执行webpack命令报错问题(转)
    git使用相关记录
    关于flex布局兼容
    canvas绘画交叉波浪
  • 原文地址:https://www.cnblogs.com/qinqiu/p/4476676.html
Copyright © 2020-2023  润新知