课程
/后端开发
/PHP
/PHP入门篇
那位大神解答下为什么上面例子中的“a”的值改变之后输出“b”的值却没有改变呢?
2017-03-14
源自:PHP入门篇 5-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的结果变成了香蕉。
希望你能理解,祝学习进步,加油!
一切随缘6 提问者
666
这个讲好,一下转过弯来了!
举报
PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。
1 回答PHP中赋值运算符
2 回答PHP有关赋值运算符的问题
3 回答为什么说连接赋值运算符有赋值功能
2 回答PHP中的比较运算符
1 回答php中错误控制运算符