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 키 등)가 그대로 노출될 수 있으므로 실제 서비스 환경에서는 사용 주의