일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- HSDPA
- 유희열의라디오천국
- brew
- EV-DO Rev. B
- 차트쇼쇼쇼
- 라디오
- 페이스북
- 퀄컴
- "명탐정 코난"
- 민동현
- 자바
- SWT
- 공정위
- ETF
- 위피
- 김장훈의who
- VoIP
- 모던음악만만세
- 민동현의토요명화
- 이지형
- 김장훈
- Java
- Wibro
- itmusic
- 그녀가말했다
- CDMA
- 사요
- USIM
- 한국의 기획자들
- 러시아
- Today
- Total
zyint's blog
unset — 주어진 변수를 제거 본문
unset
(PHP 4, PHP 5)
unset — 주어진 변수를 제거
함수가 아닌 언어의 구조이다.
설명
unset()은 주어진 변수를 파괴합니다.
함수 안에서 unset()의 행동은 어떠한 변수를 제거하려 하는지에 따라 달라집니다.
함수 안에서 전역 변수를 unset()하면, 로컬 변수만 파괴됩니다. 호출한 환경에서 변수는 unset()을 호출하기 전과 같은 값을 유지합니다.
: mixed $var
제거할 변수
반환값
없음
예제
예제:
-
<?php
// 하나의 변수 파괴
unset($foo);
-
// 배열의 한 원소 파괴
unset($bar['quux']);
-
// 하나 이상의 변수 파괴
unset($foo1, $foo2, $foo3);?>
예제: (unset) 캐스팅 사용
-
<?php
$name = 'Felipe';
var_dump((unset) $name);
?>
결과:
null
예제: 함수 내부에서 global 변수를 unset하는 경우 해당 global 변수만 해제된다.
-
<?php
function destroy_foo()
{
global $foo;
unset($foo);
}$foo = 'bar';
destroy_foo();
echo $foo;?>
위 예제의 출력:
bar
예제:전역 변수를 함수 안에서 unset()하려면, $GLOBALS 배열을 사용할 수 있습니다:
<?php
function foo()
{
unset($GLOBALS['bar']);
}$bar = "something";
foo();
?>
예제: 함수 안에서 *참조로 넘겨진* 변수를 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 $bar;
$bar++;
echo "Before unset: $bar, ";
unset($bar);
$bar = 23;
echo "after unset: $bar\n";
}foo()
;foo();
foo();
?>
위 예제의 출력:
Befor unset: 1, after unset: 23
Befor unset: 2, after unset: 23
Befor unset: 3, after unset: 23
주의
Note: 이것은 함수가 아닌 언어 구조이기 때문에, 가변 함수 방식으로 호출할 수 없습니다.
Note: 현 문맥에서 보이는 객체 프로퍼티도 제거할 수 있습니다.
Note: PHP 5부터 객체 메쏘드 안에서 $this를 제거할 수 없습니다.
참고
- isset() - 설정된 변수인지 확인
- empty() - 변수가 비어있는지 검사합니다
- array_splice() - 배열의 일부를 삭제하고, 그 위치를 다른 내용으로 대체
참고자료
http://www.php.net/manual/kr/function.unset.php
이 글은 스프링노트에서 작성되었습니다.