问答详情
源自:5-3 PHP中的赋值运算符

PHP赋值运算符&

那位大神解答下为什么上面例子中的“a”的值改变之后输出“b”的值却没有改变呢?

提问者:一切随缘6 2017-03-14 17:56

个回答

  • qq_玲玲的大_04311806
    2017-03-14 18:31:17
    已采纳


    $b = $a;   

    $c = &$a;

    这里$b=$a,是把A得值复制了一份给$b,$b是一个有自己容器的新变量。相当于a箱子里面放了一个苹果,b也学着a(在自己的箱子里面)放了一个苹果。

    而$c = &$a;(这里的&是取地址的意思)则是把$c这个变量也指向了$a的箱子,并没有单独为$c开辟一个新箱子,所以相当于$c是共享了$a的容器。


    当我们把a箱子中的苹果换成香蕉,b的箱子没做处理,里面肯定还是苹果啊, 而c由于共享的a的箱子,所以c的结果变成了香蕉。



    希望你能理解,祝学习进步,加油!

  • qq_闪烁_1
    2019-05-16 11:03:47

    666

  • 平行人生
    2018-02-05 15:40:03

    这个讲好,一下转过弯来了!