githere
V2EX  ›  问与答

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

  •  
  •   githere · Sep 4, 2018 via iPad · 2034 views
    This topic created in 2834 days ago, the information mentioned may be changed or developed.
    5 replies    2018-09-04 18:19:52 +08:00
    githere
        1
    githere  
    OP
       Sep 4, 2018 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  
       Sep 4, 2018
    PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:

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

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


    Note:

    $a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
    frozenshadow
        3
    frozenshadow  
       Sep 4, 2018 via Android
    holosola
        4
    holosola  
       Sep 4, 2018 via Android
    toxicant
        5
    toxicant  
       Sep 4, 2018
    引用的意思就是两个变量的指针指向同一个数据,类似快捷方式。
    你设置 100 个快捷方式,打开的也是同一个东西。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2662 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 15:39 · PVG 23:39 · LAX 08:39 · JFK 11:39
    ♥ Do have faith in what you're doing.