在php中$a = $b; 和$a = &$b; 的区别?
展开全部
首先你要明白指针的概念,不过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
$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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实际上也很简单,两者唯一区别就是后者多了个&
所谓&就是取地址。
$a = $b 意思直接把$b这个变量拷贝一份给$a 变量
$b = & $b 意思就是把$b这变量的值所指向的内存地址的值赋给$a
也许还不够清楚。呵呵
所谓&就是取地址。
$a = $b 意思直接把$b这个变量拷贝一份给$a 变量
$b = & $b 意思就是把$b这变量的值所指向的内存地址的值赋给$a
也许还不够清楚。呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询