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
반응형