class Test{}
$a = new Test();
$b = $a;
$c = &$a;$a = null;
var_dump($a);echo '<br>';
var_dump($b);echo '<br>';
var_dump($c);echo '<br>';
结果为 ---------------------------unset($a);
var_dump($a);echo '<br>';
var_dump($b);echo '<br>';
var_dump($c);echo '<br>';
结果为
$a = new Test();
$b = $a;
$c = &$a;$a = null;
var_dump($a);echo '<br>';
var_dump($b);echo '<br>';
var_dump($c);echo '<br>';
结果为 ---------------------------unset($a);
var_dump($a);echo '<br>';
var_dump($b);echo '<br>';
var_dump($c);echo '<br>';
结果为
解决方案 »
- 各位高手,帮帮我!!一个sql问题
- smarty中组合的模板的应用,找了半天资料也没搞好 `请帮忙`
- linux服务器通过php执行shell的问题
- 怎样才能在本机上测试$_SERVER['REMOTE_ADDR']函数呢?模拟不同的ip。
- curl_init() 问题
- 关于动态生成静态网页的问题
- 都出的数据怎么重复利用
- 请问这个highlight_string()函数怎样使用。请指教。
- 请问各位:我想建立一个自己的论坛,好象听说网上有现成的工具开发,是吗,是什么工具,那里下载送分
- 三级上机没考成,散分~~~
- php 模糊查询2个表的数据 sql语句怎么写
- 求帮解密一个很有难度的php混淆加密文件,在线等
$a = null; 是把$a的内容改为null,而$c是$a的引用,所有$c的值也是null第二种情况
unset($a); 只是把$a的变量释放,表示$a这个变量不存在了。
$c是$a的引用,读取的是$a内存地址的内容,而这个内容在unset之后是不会改变的,所以还是有值。形象点的解释
$a 指向内存地址1234
$c是$a的引用,也是指向内存地址1234第一种情况
$a =null 就是把内存地址1234内的值改为null ,所以$a与$c都是null第二种情况
unset($a); 是把$a不再指向内存地址1234,但是内存地址1234内的值还是之前的值,$c还是指向内存地址1234,所以$c的值还是不变。