php代码分析

$test = 'aaaaaa';
$abc = & $test;
unset($test);
echo $abc;

It outputs 'aaaaaa',which is already unset,can you explain this?

No, it unsets $test, but the value is not deleted because there is another reference to it, namely $abc.

When you call:

$abc =& $test;

It points $abc at the same object in memory that $test is pointing at. It doesn't point $abc at $test - there's a subtle difference.

This means you can destroy $test, but $abc will still be pointing at the object in memory, so the value is not destroyed.