2011-04-06 5 views
11

PHP 함수에서 사용되는 변수/배열에 관한 질문이 있습니다. 함수를 실행 한 후 모든 변수가 자동으로 설정 해제됩니까? 그렇지 않은 경우, 전체 PHP 페이지를 실행 한 후 정확히 언제 설정을 해제합니까? 특정 시간이 지나면?PHP 함수에서 사용되는 변수는 함수 실행 후 자동으로 설정 해제됩니까?

함수의 끝에서 함수에서 사용 된 모든 변수의 설정을 해제하여 메모리에서 해제하는 것이 유용합니까?

도움과 의견을 보내 주셔서 감사합니다.

+0

변수 함수 실행 (단부)에 (메모리 해제)을 파괴한다. –

+0

답변 해 주셔서 감사합니다. – Martin

답변

7

함수에서 정의되고 사용되는 지역 변수는 함수가 실행 된 후 자동으로 설정 해제되지 않습니다. 오히려 가비지 컬렉터가 수집하도록 표시됩니다. 지역 변수의 정의로 많은 양의 메모리를 소비하지 않는 한, 명시 적으로 설정을 해제 할 필요가 없습니다. 가비지 컬렉터가 작업을 수행하게하십시오.

+0

함수가 반환되기 전에 수동으로 수행하는 방법은 무엇입니까? –

+0

http://php.net/manual/en/function.unset.php –

0

예, 스코프가 끝나면 할당이 취소됩니다 (함수가 반환됩니다).

메모리가 자동으로 지워지지는 않지만 오히려 추가 메모리가 필요할 때 지울 것입니다.

0

그래, 전역 INSIDE 함수가 함수 외부에 존재하지 않는다고 선언되지 않은 것도 있습니다. 함수가 실행되면 값은 더 이상 mem에 없습니다. 로컬 범위

PHP: Variable Scope

관련 문제