php代码 $a = 10; $b = & $a; $c = 100; $a = &$c; echo $b; echo $a;

上述代码,$b空间存的是$a的地址,$b通过地址找到$a里存到具体的值,现在把$a空间里存的内容换成存$c的地址,为什么$b还能找到10这个值,$a这个地址里存的内容不是... 上述代码,$b空间存的是$a的地址,$b通过地址找到$a里存到具体的值,现在把$a空间里存的内容换成存$c的地址,为什么$b还能找到10这个值,$a这个地址里存的内容不是从具体的10变成了$c的地址了吗?求大神们解除一下我的困惑? 展开
 我来答
上饶市嗨购网络科技
2016-11-29 · TA获得超过214个赞
知道小有建树答主
回答量:184
采纳率:85%
帮助的人:60.1万
展开全部
不画图还真不好说,你理解的还不够深入
首先$a = 10; 假设分配了一个地址为A的内存空间给$a并存值10.
然后$b = &$a 这样就把大A这个地址也给了$b(如果不加&的话就会又分配一个空间给$b,加了就直接映射到A)
$c = 100,又分配一个地址为C的空间存了值100
$a = &$c 关键就在这了,这个时候你把刚刚的C的地址付给了$a,但是原来大A的值是没有变得,$b仍然是映射的A的这个地址 只不过$a换了个地址指到C去了。你这里如果不传址,而传值的话,就会把A里的值给改了,$b也就改了。
打个比方就是原来$a 是一楼住户,里面有10个美女
然后$b你告诉他他也是一楼的。
$c是二楼的,有100个美女。
然后你现在告诉$a你不是一楼的了,你给换到二楼去了!
也不知道你听懂没,反正你自己捋捋,就明白传值跟传址的含义了
唯我随想no2
2016-11-29 · TA获得超过185个赞
知道小有建树答主
回答量:243
采纳率:50%
帮助的人:220万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式