V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
githere
V2EX  ›  问与答

不太理解这段 PHP 代码中,为什么第三个 echo $a 变成了 EFG?为什么不仍旧是 ABC

  •  
  •   githere · 2018-09-04 16:54:38 +08:00 via iPad · 1487 次点击
    这是一个创建于 2272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2018-09-04 18:19:52 +08:00
    githere
        1
    githere  
    OP
       2018-09-04 16:56:07 +08:00 via iPad
    <?php
    $a="ABC";
    $b =&$a;
    echo $a; //这里输出:ABC
    echo $b;//这里输出:ABC
    $b="EFG";
    echo $a;//这里$a 的值变为 EFG 所以输出 EFG
    echo $b;//这里输出 EFG 因为改变的是同一个值。
    ?>
    jevonszmx
        2
    jevonszmx  
       2018-09-04 17:29:32 +08:00
    PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:

    <?php
    $a =& $b;
    ?>

    这意味着 $a 和 $b 指向了同一个变量。


    Note:

    $a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
    frozenshadow
        3
    frozenshadow  
       2018-09-04 18:04:48 +08:00 via Android
    holosola
        4
    holosola  
       2018-09-04 18:09:14 +08:00 via Android
    toxicant
        5
    toxicant  
       2018-09-04 18:19:52 +08:00
    引用的意思就是两个变量的指针指向同一个数据,类似快捷方式。
    你设置 100 个快捷方式,打开的也是同一个东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1442 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:25 · PVG 01:25 · LAX 09:25 · JFK 12:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.