unset()은 주어진 변수를 파괴합니다. PHP 3에서, unset()은 항상 TRUE를 반환했습니다. (정확히는, 정수값 1) 그러나 PHP 4에서, unset()은 true 함수가 아닙니다: 이제 구문입니다. 아무 값도 반환하지 않고, unset()의 결과를 가져오려고 하면 parse 에러가 생성됩니다.
함수 안에서 unset()의 행동은 어떠한 변수형을 파괴하려 했는지에 따라 달라집니다.
함수 안에서 전역 변수를 unset()하면, 로컬 변수만 파괴됩니다. 호출한 환경에서 변수는 unset()을 호출하기 전과 같은 값을 유지합니다.
위 예제의 출력:함수 안에서 참조로 넘겨진 변수를 unset()하면, 로컬 변수만이 파괴됩니다. 호출한 함수에서 변수는 unset()을 호출하기 전과 동일한 값을 유지합니다.
<?php |
함수 안에서 정적 변수를 unset()하면, unset()은 변수와 모든 참조를 파괴합니다.
위 예제의 출력:함수 안에서 전역 변수를 unset()하려면, $GLOBALS 배열을 사용할 수 있습니다:
참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.
참고: isset(), empty(), array_splice().