참조 삭제 동작 원리
참조 삭제(unsetting references)하는 것은 변수명과 변수 내용의 연결을 끊어줄 뿐이지 변수 내용 자체를 삭제하지는 않습니다. 따라서 아래와 같이 $a 변수를 삭제하더라도 그 내용은 남아 있기 때문에 $b 변수를 계속 사용할 수 있습니다.
 $a = 1000;
$b = &$a;
unset ($a);
ref7.gif
< 참조와 삭제 >
< 심볼 테이블(unset전) >
변수명 변수값이 저장된 메모리 주소 설명
$a 0x6000 원본
$b 0x6000 참조
< 심볼 테이블(unset후) >
변수명 변수값이 저장된 메모리 주소 설명
$b 0x6000 참조
ref35.gif
global References
전역변수를 선언하면 이 변수는 자동으로 전역배열 $GLOBALS[]에 참조됩니다. 이것은 마치 아래와 같은 문장를 수행한 것과 같습니다.
 $var = &$GLOBALS["var"];
그런데 매뉴얼 설명과는 달리 unset으로 전역변수를 삭제하면 전역배열 $GLOBALS[]의 내용도 함께 삭제되는 것을 확인할 수 있었습니다. 아래의 예제를 참조바랍니다.
 <?php

$a = "set variable";
$b = &$a;

echo "---------\n";
echo "[".$a."]\n";
echo "[".$GLOBALS["a"]."]\n";
echo "[".$b."]\n";

unset($b);

echo "---------\n";
echo "[".$a."]\n";
echo "[".$GLOBALS["a"]."]\n";
echo "[".$b."]\n";

unset($a);
//unset($GLOBALS["a"]);

echo "---------\n";
echo "[".$a."]\n";
echo "[".$GLOBALS["a"]."]\n";
echo "[".$b."]\n";

echo "---------\n";

?>
실행결과는 아래와 같습니다.
---------
[set variable]
[set variable]
[set variable]
---------
[set variable]
[set variable]
[] <-- unset($b)로 삭제됨
---------
[] <-- unset($a)로 삭제됨
[] <-- unset($a)로 삭제됨
[]
---------