Programming/PHP

[PHP] #35 PHP 변수 상태 확인 및 디버깅 함수 정리: isset, empty, var_dump까지

TOASTDEV 2025. 9. 8. 17:00
반응형

 

 

안녕하세요 토스트데브입니다.
이번 글에서는 PHP에서 변수의 존재 여부를 확인하거나, 디버깅 시 값을 출력하는 함수들을 정리해보겠습니다.

개발 중 문제가 생겼을 때 변수의 상태를 빠르게 파악하고 오류를 찾는 데 매우 유용한 함수들이며, 초보자부터 실무 개발자까지 모두 필수로 익혀야 할 기능입니다.

 

 

✅ 1. 변수 상태 확인 함수

🔎 isset() – 변수가 설정되어 있는지 확인

$name = "Tom";
if (isset($name)) {
    echo "변수 존재함!";
}

 

  • null일 경우도 false 반환
  • 여러 개의 변수를 동시에 검사할 수 있음
if (isset($a, $b, $c)) { ... }

 

 

🔎 empty() – 값이 비어 있는지 확인

$val = "";
if (empty($val)) {
    echo "비어있는 값입니다.";
}

📌 0, "0", "", null, false, [] → 모두 empty로 간주됨 isset()과는 차이가 있으니 주의

 

🔎 is_null() – 값이 null인지 정확히 확인

$data = null;
if (is_null($data)) {
    echo "null 입니다.";
}

📌 isset()은 변수의 존재 여부 is_null()은 값이 null인지 검사

 

 

🧪 2. 변수 디버깅 및 출력 함수

✅ var_dump() – 상세한 변수 정보 출력

$info = ["name" => "Tom", "age" => 30];
var_dump($info);
/*
array(2) {
  ["name"]=> string(3) "Tom"
  ["age"]=> int(30)
}
*/

 

  • 타입 + 길이 + 값까지 상세 출력
  • 디버깅 시 가장 많이 쓰이는 함수 중 하나

 

✅ print_r() – 사람이 읽기 쉬운 배열/객체 출력

$fruits = ["apple", "banana"];
print_r($fruits);
/*
Array
(
    [0] => apple
    [1] => banana
)
*/

 

📌 var_dump()보다는 간결하지만 데이터 타입 정보는 생략됨

 

✅ gettype() – 변수의 자료형 반환

$num = 10;
echo gettype($num);  // 출력: integer

 

✅ debug_zval_dump() – 참조 카운트까지 출력

$name = "Tom";
debug_zval_dump($name);
/*
string(3) "Tom" refcount(1)
*/

📌 주로 고급 디버깅 시 사용 (메모리 관리 분석 등)

 

 

💡 실전 팁

  • 조건문 작성 시 isset()과 empty()를 구분해서 써야 예상치 못한 오류를 방지할 수 있습니다.
  • API 응답, 배열 값 검사, 로그인 여부 판단 등에 자주 쓰입니다.
  • var_dump()와 print_r()는 디버깅용으로만 사용하고, 운영 환경에서는 로그 파일로 리다이렉트하거나 제거해야 합니다.
  • 에디터에 따라 xdebug와 함께 쓰면 var_dump()의 출력이 더 잘 보이게 됩니다.

 

 

✅ 마무리

이번 글에서는 변수 상태 확인 함수(예: isset, empty, is_null)와 디버깅 출력 함수(예: var_dump, print_r, gettype)를 정리해보았습니다.

이러한 함수들은 코드 흐름을 이해하고 디버깅할 때 매우 유용하며, 실무에서 매일 쓰는 기초 도구들이기도 합니다.
자연스럽게 익히고 적절히 활용해보세요!

 

#PHP, #변수확인, #isset, #empty, #is_null, #var_dump, #print_r, #디버깅, #PHP기초, #웹개발, #gettype

반응형