background image

君再看

:

Example 4:
<?php 
error_reporting(E_ALL); 
$a = 'I am test.'; 
$b = & $a; 

unset($b);                                                                      

echo $a ."\n"; 
echo $b ."\n";
?>
其实如果

 Example 3 理解了,这个与之异曲同工.

hy0kl% php -f gc.php 
I am test.
Notice: Undefined variable: b in /usr/local/www/apache22/data/test/gc.php on line 9

君且看

:

Example 5:
<?php 
error_reporting(E_ALL); 
$a = 'I am test.'; 
$b = & $a; 

$a = null; 

echo '$a = '. $a ."\n"; 
echo '$b = '. $b ."\n"; 
?>
猛的第一感觉是什么样的

?

hy0kl% php -f gc.php 
$a = 
$b =
没错

,这就是输出结果,对 PHP GC 已有深入理解的 phper 不会觉得有什么奇怪,说实话,当我

第一次运行这段代码时很意外

,却让我对 PHP GC 有更深刻的理解了.那么下面与之同工的例

子自然好理解了

.

Example 6:
<?php                                                                         
error_reporting(E_ALL); 
$a = 'I am test.'; 
$b = & $a; 

$b = null;