为了账号安全,请及时绑定邮箱和手机立即绑定

PHP赋值运算符&

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

正在回答

3 回答


$b = $a;   

$c = &$a;

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

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


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



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

5 回复 有任何疑惑可以回复我~
#1

一切随缘6 提问者

理解了,谢谢你!
2017-03-16 回复 有任何疑惑可以回复我~

666

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP入门篇
  • 参与学习       455956    人
  • 解答问题       6306    个

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

进入课程

PHP赋值运算符&

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信