PHP에서 NULL은 변수에 값이 없음을 나타내는 특별한 데이터 타입입니다. 이 글에서는 NULL의 정의와 사용법, 그리고 다른 타입과의 형 변환 방법까지 실제 예제와 함께 자세히 알아보겠습니다.
NULL이란? 정의와 사용 용도
PHP에서 어떤 변수에 값이 할당되어 있지 않다면, 해당 변수는 null 데이터 타입을 가진다고 표현합니다. 이러한 변수의 값은 상수 NULL로 정의됩니다.
변수가 NULL 값을 갖게 되는 경우는 크게 두 가지입니다.
- 명시적 할당: 개발자가 직접 변수에 NULL을 대입하는 경우
- unset() 함수 사용:
unset()함수를 호출하여 변수의 값을 제거하면 해당 변수는 null이 됩니다.
기본 문법
변수에 NULL을 할당하는 문법은 매우 간단합니다.
$var = NULL;
대소문자를 구분하지 않으므로 null, NULL, Null 모두 동일하게 동작합니다.
형 변환(Casting) 관련 주의사항
다른 타입의 변수를 null로 캐스팅하는 것은 가능하지만, PHP 7.2부터는 null을 다른 타입으로 캐스팅하는 기능이 지원 중단(deprecated)되었습니다. 이전 버전에서는 다음과 같은 문법을 사용했습니다.
(unset)$var
현재 버전의 PHP에서는 이 방식 대신 unset() 함수를 사용하는 것이 권장됩니다.
예제 1: 변수에 NULL 할당하기
다음 예제는 변수에 NULL을 할당하고 var_dump() 함수로 확인하는 기본적인 방법을 보여줍니다.
<?php $var = NULL; var_dump($var); ?>
실행 결과
NULL
var_dump() 함수는 변수의 데이터 타입과 값을 함께 출력해주므로, 디버깅 시 매우 유용합니다.
예제 2: NULL 변수를 다른 기본 타입으로 변환하기
NULL 값을 정수(int), 실수(float), 불리언(bool) 타입으로 캐스팅하면 어떤 결과가 나오는지 확인해 보겠습니다.
<?php $var = NULL; var_dump((int) $var); var_dump((float) $var); var_dump((bool) $var); var_dump((boolean) $var); ?>
실행 결과
int(0) float(0) bool(false) bool(false)
결과에서 알 수 있듯이, NULL을 숫자 타입으로 변환하면 0이 되고, 불리언 타입으로 변환하면 false가 됩니다. 참고로 (bool)과 (boolean)은 완전히 동일한 캐스팅 연산자입니다.
정리
- NULL은 '값이 없음'을 의미하는 PHP의 특별한 데이터 타입입니다.
- 변수에 직접 NULL을 할당하거나
unset()함수로 값을 제거할 수 있습니다. - NULL을 int나 float로 변환하면 0, bool로 변환하면 false가 됩니다.
- PHP 7.2 이후에는
(unset)캐스팅이 지원 중단되었으므로unset()함수를 사용하세요.