全方位剖析
回顾真题
考点分析
一网打尽
什么是引用变量?在PHP当中,用什么符号定义引用变量?
思考
考官考点
PHP的引用变量的概念及定义方式
延伸:PHP引用变量的原理
概念
在PHP中引用意味着用不同名字访问同一个变量内容。
定义方式
使用&符号
PHP引用变量的工作原理
工作原理
变量的存储方式
$a = range(0,1000);
var_dump(memery_get_usage());
就指向内存空间;
$b = $a;
//对a进行写操作
$a = range(0,1000);
$b = &$a; 会始终指向同一个区域。
zval变量容器
$a = range(0,3);
xdebug_debug-zval('a');
unset 只会取消引用,不会销毁空间
$a = 1;
$b = &$a;
unset($b);
echo $a;
<?php
class Person{
public $name = 'zhangjun';
}
$p1 = new Person;
xdebug_debug_zval('p1');
$p2 = $p1;
xdebug_debug_zval('p2');
$p2->name = "list";
xdebug_debug_zval('p2');
类本身是引用传递
copy on write
//对a进行修改,才会重写分配空间。
会循环四次
结果bbc
【a,b,c】
[b,b,c]
[b,c,c]
[b,c,c]
发现第二个里面 b的值,会变为c