一切随缘6
2017-03-14 17:56
那位大神解答下为什么上面例子中的“a”的值改变之后输出“b”的值却没有改变呢?
$b = $a;
$c = &$a;
这里$b=$a,是把A得值复制了一份给$b,$b是一个有自己容器的新变量。相当于a箱子里面放了一个苹果,b也学着a(在自己的箱子里面)放了一个苹果。
而$c = &$a;(这里的&是取地址的意思)则是把$c这个变量也指向了$a的箱子,并没有单独为$c开辟一个新箱子,所以相当于$c是共享了$a的容器。
当我们把a箱子中的苹果换成香蕉,b的箱子没做处理,里面肯定还是苹果啊, 而c由于共享的a的箱子,所以c的结果变成了香蕉。
希望你能理解,祝学习进步,加油!
666
这个讲好,一下转过弯来了!
PHP入门篇
455957 学习 · 6306 问题
相似问题