引用赋值$和传值赋值

一.$a=3   $b=5

/如果是新手的话,可能会对这个'='号产生误会,  这个等号 就是赋值用的.

$b=$a;

//$b = $a ;

//发生了什么?   把$b的值读出来,再把值放到$b的空间里,即 赋值给$b;

//就是把$b的值,传递给$a,因此叫传值赋值.

echo $a; //5

//在这个过程中,仅仅参考了一个$b的值,然后,把$b的值,复制一份到a的空间里去了

//之后,$a,$b,两者之间还是没有关系,因为$a  $b的值还是放在了各自的空间里

 二. $a=3   $b = 5  ;

//下面这行代码

//把$a这把钥匙的指向,指向了$b的地址.

//即:$a , $b   指向同一个地址

//就像,两把钥匙指向了同一个房间

$a   = &$b;

echo  $a .$b // 5 5 ;

$b = 9;

echo $a , $b // 99;

//----------------------------------看看下面的问题------------------------------------//

unset($b);

echo  $a;//9

/*

原因很简单

因为有$a,$b连个变量指向了同一地址,

$b销毁了,$a没有销毁

变量有一个机制,当某段地址存的值,有一个变量在指向他的时候,就不会被回收.(这也是简单的回收机制)


张三===>[饭桌]<===李四

张三,转一下桌子,在李四看来,桌子的盘子的盘子也变了,  $a,$b值,一改全改

unset($b);

张三 人走了,但是李四还没有走,服务员是否会去清理桌子吗?

答案:不会的,因为还有李四坐在桌子前


如果,李四走了,也给unset()掉,那么桌子上的饭菜才能真正的清掉


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值