unset(); 에 대해서 알아보장..

조회 수 27615 추천 수 0 2007.07.29 22:55:50
void unset ( mixed var [, mixed var [, mixed ...]])

unset()은 주어진 변수를 파괴합니다. PHP 3에서, unset()은 항상 TRUE를 반환했습니다. (정확히는, 정수값 1) 그러나 PHP 4에서, unset()은 true 함수가 아닙니다: 이제 구문입니다. 아무 값도 반환하지 않고, unset()의 결과를 가져오려고 하면 parse 에러가 생성됩니다.

예 1. unset() 예제

함수 안에서 unset()의 행동은 어떠한 변수형을 파괴하려 했는지에 따라 달라집니다.

함수 안에서 전역 변수를 unset()하면, 로컬 변수만 파괴됩니다. 호출한 환경에서 변수는 unset()을 호출하기 전과 같은 값을 유지합니다.

<?php
function destroy_foo
()
{
   global
$foo
;
   unset(
$foo
);
}

$foo = 'bar'
;
destroy_foo
();
echo
$foo
;
?>

위 예제의 출력:

bar

함수 안에서 참조로 넘겨진 변수를 unset()하면, 로컬 변수만이 파괴됩니다. 호출한 함수에서 변수는 unset()을 호출하기 전과 동일한 값을 유지합니다.

<?php
function foo(&$bar
)
{
   unset(
$bar
);
  
$bar = "blah"
;
}

$bar = 'something'
;
echo
"$bar\n"
;

foo($bar
);
echo
"$bar\n"
;
?>

위 예제의 출력:

something something

함수 안에서 정적 변수를 unset()하면, unset()은 변수와 모든 참조를 파괴합니다.

<?php
function foo
() {
   static
$a
;
  
$a
++;
   echo
"$a\n"
;
   unset(
$a
);
}

foo
();
foo
();
foo
();
?>

위 예제의 출력:

1 2 3

함수 안에서 전역 변수를 unset()하려면, $GLOBALS 배열을 사용할 수 있습니다:

<?php
function foo
() {
   unset(
$GLOBALS['bar'
]);
}

$bar = "something"
;
foo
();
?>

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

참고: isset(), empty(), array_splice().

 

 

테스트 화일

출처 : phpschool.com

 
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
12 파일 등록시 특수문자 걸러서 등록하기 [레벨:30]똑띠 2009-01-14 13247
11 숫자를 통화 단위 형태로 보여주기 [1] [레벨:30]똑띠 2008-12-24 13717
10 explode() - 구분자 기준으로 문자 배열처리 [레벨:30]똑띠 2008-10-20 17658
9 Callback 함수란? [레벨:30]똑띠 2008-07-31 25782
8 Type변환 [2] [레벨:30]똑띠 2008-03-01 28013
7 foreach 예제 [레벨:30]똑띠 2007-10-17 30521
6 클래스(class)에서 지시자(->)의 의미 [1] [레벨:30]똑띠 2007-07-27 26591
5 클래스( Class ) 사용을 위한 기본 지식 [2] [레벨:30]똑띠 2007-07-16 30194
» unset(); 에 대해서 알아보장.. [레벨:30]똑띠 2007-07-29 27615
3 foreach문 사용법에 대하여 [2] [레벨:30]똑띠 2007-07-29 38215
2 php에서 상수 정의 define(); [레벨:30]똑띠 2007-07-29 27499
1 for 문 사용법 [2] [레벨:30]똑띠 2007-01-29 28274