在php中对于一个对象,普通赋值和引用赋值有什么区别 20

例如:classCar(){public$name="aodi";}$car_a=newCar();$car_b=$car_a;$car_c=&$car_a;这样$car... 例如:
class Car (){
public $name = "aodi";
}
$car_a = new Car();
$car_b = $car_a;
$car_c = &$car_a;
这样$car_a,$car_b,$car_c都指向了刚刚实例化的对象啊,加不加&符号有什么区别吗?
展开
 我来答
阳光上的桥
2015-04-04 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65814
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
把变量存储值当成文件存储内容来理解,普通赋值就是文件复制,引用赋值就是建立快捷方式,明白了吧。
追问
但是对于对象普通赋值和引用赋值现在看来效果是一样的,没有你说的拷贝的过程啊
追答
效果不一样,普通赋值后,两个变量是独立的,各自内容修改后不影响另外一个
引用赋值后,两个变量只想的同一个内存空间,任何一个的值修改后,另外一个跟着变化
有酒自当歌
2016-08-09
知道答主
回答量:6
采纳率:0%
帮助的人:6894
展开全部
对象传智实际传的是对象标识符。当使用值传递的时候,作传值用的p1的标识符会被传递给被传值对象p2。此时,若修改p1的标识符(重建该对象即可),p2的标识符是不会改变的(p1 p2只是标识符相同的两个独立的对象)。但若为引用传值,p2的标识符是会随着p1的标识符一起改变。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
00静心静思00
2019-05-07 · TA获得超过295个赞
知道小有建树答主
回答量:160
采纳率:76%
帮助的人:26.6万
展开全部
<?php 
    //普通赋值(常用)
    $a = 1;//定义并且赋值a等于1
$b = $a;//把a里面的值1“复制”给b
$a = 3;//给a重新赋值等于3,程序结束,b没有发生变化依然等于1。

echo $a.$b;//输出31

//地址引用赋值
$a = 1;//定义并且赋值a等于1
$b = &$a;//b的值存a的地址,指向a,注意:是地址。
//相当于指针指向了a(但是有区别)。
//实际上是告诉电脑,b的值存在a那里,a参数的存储地址相对b共享
$a = 3;//给a重新赋值。
echo $a.$b;//输出33,a实际赋值结果,b地址指向的那个存储地址里面的存值

形象的举例说明:A盒子里有一份文件,名称:c

普通赋值:拿A盒子的文件去复印一份,然后放在B盒子里。此时,两个盒子里都各自有内容相同的一份文件。

后面不管你往A里仍什么进去,B还是只有最初的那份文件。

引用赋值:B盒子里面只是放着一张纸条,写着文件放在A盒子里,请去A盒子里拿。

后面,不管你给A盒子放什么,需要B盒子里的文件的人,都去A盒子里拿,拿到什么就要看,A里面放着什么了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式