PHP

[PHP] get_defined_vars() 함수로 정의된 변수 확인하기

teamnova 2025. 8. 9. 17:18
728x90

안녕하세요. 

오늘은 get_defined_vars() 함수를 활용하여 현재 스크립트에서 정의된 모든 변수를 확인해보도록 하겠습니다. 

 

get_defined_vars()

현재 범위(Scope)에서 정의된 모든 변수와 그 값을 연관 배열(associative array) 형태로 반환합니다.

전역 변수, 지역 변수, 슈퍼글로벌($_GET, $_POST 등)까지 포함됩니다.

 

반환값은 변수 이름을 key로, 변수 값을 value로 가지는 배열입니다.
이 배열을 print_r() 또는 var_dump()를 사용해 출력하면, 현재 사용 가능한 모든 변수를 한눈에 확인할 수 있습니다.

 

예제코드 

// 변수 정의
$name = "Alice";
$age = 25;
$is_admin = true;

// 함수 예제
function show_vars_in_function() {
    $local_var = "I'm local!";
    echo "=== Variables inside function ===\n";
    print_r(get_defined_vars());
}

// 전역 범위에서 출력
echo "=== Variables in global scope ===\n";
print_r(get_defined_vars());

echo "\n";

// 함수 안에서 출력
show_vars_in_function();

 

 

결과 (일부)

=== Variables in global scope === 
Array ( 
	[_GET] => Array
    	( 
        ) 
    [_POST] => Array 
    	( 
        [phpcode] => 
        	// 변수 정의 
            $name = "Alice"; 
            $age = 25; 
            $is_admin = true;

 

활용시 고려사항

- 디버깅할 때 현재 사용 가능한 변수들을 빠르게 확인하고 싶을 때 사용

- 함수 내부와 외부의 변수 스코프 차이를 이해할 때 유용

- 민감한 정보(비밀번호, API 키 등)가 그대로 노출될 수 있으므로 실제 서비스 환경에서는 사용 주의