在php中$a = $b; 和$a = &$b; 的区别?

 我来答
南湖晨风
2011-07-21 · TA获得超过136个赞
知道小有建树答主
回答量:566
采纳率:100%
帮助的人:396万
展开全部
&在php中是引用的意思,PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
<?php
$a =& $b;
?>
这意味着 $a 和 $b 指向了同一个变量。 $a 和 $b 在这里是完全相同的,这并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一个地方。
拎壺蔥
2011-07-21 · TA获得超过201个赞
知道答主
回答量:47
采纳率:0%
帮助的人:26.1万
展开全部
首先你要明白指针的概念,不过php的指针和c的指针有一些不同
$a = $b;
是把$b的值赋值给$a,如果赋值后,$b的值改变了,$a的值是不会改变的

$a =&$b;
这个是把$b的地址传递给$a,这个时候,$a和$b都指向内存中的同一块地址,所以如果赋值后,你改变了$b的值,$a的值也是会改变的

举个例子
$b = 1;
$a = $b;
$b = 2;
echo $b; //打印2
echo $a; //打印1

-------------------------
$b = 1;
$a = &$b;
$b = 2;
echo $b;//打印2
echo $a;//打印2
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姑苏初晴e5
2011-07-21 · TA获得超过289个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:383万
展开全部
实际上也很简单,两者唯一区别就是后者多了个&
所谓&就是取地址。
$a = $b 意思直接把$b这个变量拷贝一份给$a 变量
$b = & $b 意思就是把$b这变量的值所指向的内存地址的值赋给$a
也许还不够清楚。呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式