참조 해제
참조 해제
이 페이지에서는 unset()으로 참조를 해제했을 때 어떤 일이 일어나는지 설명해요. 참조를 끊어도 변수 내용 자체가 파괴되지는 않는다는 점이 핵심입니다.
본문
참조를 해제하면, 그저 변수 이름과 변수 내용 사이의 바인딩을 끊을 뿐이에요. 변수 내용이 파괴된다는 뜻은 아니랍니다. 예를 들어 볼게요.
<?php
$a = 1;
$b =& $a;
unset($a);
var_dump($a);
var_dump($b);
이 예시를 유닉스의 unlink 호출에 비유해 생각해 보면 이해가 쉬울 거예요. unset($a)는 $a라는 이름과 내용의 연결만 끊지, 그 내용(파일)을 지우는 게 아니죠. 그래서 여전히 $var b는 그 내용을 가리키고 있습니다.