php源码学习d7 字符串引用

一、引用不回收

   结论:变量类型一旦成引用,不会回收,一直存在,直到unset或代码运行完毕

$a = 3; // $a type 4 图1
echo $a;
$b = &$a; //$b type 10 $a type 10 图1
echo $b;
echo $a;
$d = $b; // $d type 4
unset($b); // $a type 10 图2
echo $a;
$c = $a; // $c type 4 图2
echo $c;
$a = $a; //$a type 10 图2
echo $a;
$a = $c; //$a type 10 图3
echo $a;
$d = 4; //$d type 4 图3
echo $d;
$a = $d; //$a type 10 图3
echo $a;
$a = 'abcd'; // $a type 10 图4
echo $a;
$a = new stdClass; // $a type 10 图5
echo $d;
$a = function () {
}; // $a type 10 图6
echo $d;
$a = [1, 3]; //$a type 10 图6
echo $d;
$a = null; // $a type 10 图7
echo $d;
unset($a); // $a type 0 图7
echo $d;

图1

图2

图三

图4

图5

图6

图7

二、变量在符号表不回收 

$a = 111;
echo $a;
unset($a);
for ($i=0; $i <1000; $i++) {
    ${"b".$i} = $i;
}
echo $b999;
$a = 222;
echo $a;

三、扩展(引用污染)

$a['test'] = 1; // $a type 7
$b = &$a['test']; // $a type 7 $b type 10
$c = $a; // $c type 7
$c['test'] = 2; 
echo $a['test']; // 结果为2

四、笔记地址

d7 字符串引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值