이전 글에서는 객체나 배열을 역직렬화하는 방법에 대해 배웠습니다. 필요하다면 "PHP에서 배열과 객체를 역직렬화하는 방법"을 읽어보세요. 이번에는 함수를 사용하여 변수를 소멸시키는 방법을 소개하겠습니다. 필요하시면 참고하시면 됩니다.
글을 시작하기에 앞서 변수 소멸이 무엇인지 먼저 살펴보겠습니다.
PHP 변수 또는 객체의 소멸은 명시적 소멸과 암시적 소멸로 나눌 수 있습니다.
1 명시적 소멸, 객체가 참조되지 않으면 소멸되므로 설정을 해제하거나 NULL을 할당할 수 있습니다.
2. 암시적 파괴 PHP는 코드의 마지막 줄이 실행될 때 적용된 모든 메모리를 해제해야 합니다. 오늘 소개할 내용은 명시적 파기 설정이 해제된 내용입니다. 먼저 작은 밤부터 살펴보겠습니다.<?php class Human { public $name = '张三'; public $gender = null; public function __destruct() { echo '结束!<br />'; } } $a = new Human(); $b = $c = $d = $a; unset($a); $d=null; echo '<hr />'; var_dump($a); echo '<hr />'; var_dump($b); echo '<hr />'; var_dump($c); echo '<hr />'; var_dump($d); ?>결과는 이제 더 이상 고민하지 말고 이 기능을 살펴보겠습니다.
에도 값이 있는 이유를 설명합니다. Human
类中,$a被unset()
了,但是$b =$c = $d
void unset (要销毁的变量)함수에서 unset()이 전역 변수인 경우 지역 변수만 소멸되고 호출 환경의 변수는 unset()을 호출하기 전과 동일한 값을 유지합니다. unset()이 함수에서 참조로 전달된 변수인 경우 로컬 변수만 소멸되고 호출 환경의 변수는 unset()을 호출하기 전과 동일한 값을 유지합니다. unset()이 함수의 정적 변수인 경우 정적 변수는 함수에서 소멸됩니다. 그러나 이 함수가 다시 호출되면 정적 변수는 마지막으로 삭제되기 전의 값으로 복원됩니다. 그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →
위 내용은 PHP에서 변수를 파괴하는 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!