unset 함수는 변수를 파괴하기 위해 PHP에 포함된 함수입니다. unset을 사용하여 static 변수와 전역 변수를 파괴하는 방법도 도입했습니다. 아래 예를 참조하세요.
예제 1. unset() 예
<?php // 销毁单个变量 unset ($foo); // 销毁单个数组元素 unset ($bar['quux']); // 销毁一个以上的变量 unset ($foo1, $foo2, $foo3); ?>
unset() 함수의 동작은 삭제하려는 변수 유형에 따라 달라집니다.
함수에서 전역 변수를 unset()하면 지역 변수만 소멸되고 호출 환경의 변수는 unset()을 호출하기 전에 동일한 값을 유지합니다.
<?php function destroy_foo() { global $foo; unset($foo); } $foo = ‘bar’; destroy_foo(); echo $foo; ?>
위 예제는 다음을 출력합니다:
bar
함수에서 reference에 의해 전달된 변수를 unset()하면 로컬 변수만 소멸되고 호출 환경의 변수는 unset() 상태로 유지됩니다. 이전과 동일한 값입니다.
<?php function foo(&$bar) { unset($bar); $bar = “blah”; } $bar = ‘something’; echo “$barn”; foo($bar); echo “$barn”; ?>
위 예제는 다음을 출력합니다:
something
something
unset() 정적 변수
엄밀히 말하면 unset()을 사용하여 정적 변수를 삭제하면 변수 이름과 변수 값 사이의 참조만 끊어집니다.
예:
<?php function foo() { static $b; $a++; $b++; echo "$a---$bn"; unset($a,$b); var_dump($a); var_dump($b); echo "######################n"; } foo(); foo(); foo(); ?>
이 예를 실행하면 출력:
1---1 NULL NULL ####################### 1---2 NULL NULL ####################### 1---3 NULL NULL #######################
unset() 전역 변수
는 unset() 정적 변수와 동일합니다. 함수에서 전역 변수를 unset()하면 로컬 변수만 됩니다. 소멸되며 호출 환경의 변수에는 unset()을 호출하기 전과 동일한 값이 유지됩니다.
다음 두 가지 예를 비교해 보세요.
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
<?php function destroy_foo() { global $foo; unset($GLOBALS['foo']); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
첫 번째 예를 실행하면 bar가 출력되지만 두 번째 예는 아무 것도 출력되지 않습니다.
위 내용은 unset() 함수를 사용하여 단일 또는 다중 변수 인스턴스를 삭제하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!