PHP에서 다양한 데이터 유형을 검사할 때 사용되는 함수와 연산자들에 대해 알아보겠습니다.
테스트할 데이터 유형은 다음과 같습니다:
<?php
$var1;
$var2 = false;
$var3 = '';
$var4 = 0;
$var5 = null;
$var6 = array();
?>
empty() 함수
먼저 empty() 함수의 var_dump 결과를 확인합니다:
<?php
var_dump(empty($var1));
var_dump(empty($var2));
var_dump(empty($var3));
var_dump(empty($var4));
var_dump(empty($var5));
var_dump(empty($var6));
?>
출력 결과:
$var1; : bool(true)
$var2 = false; : bool(true)
$var3 = ''; : bool(true)
$var4 = 0; : bool(true)
$var5 = null; : bool(true)
$var6 = array(); : bool(true)
empty() 함수는 변수가 비어있거나 거짓 값을 가질 때 true를 반환합니다.
isset() 함수
isset() 함수의 출력 결과:
<?php
var_dump(isset($var1));
var_dump(isset($var2));
var_dump(isset($var3));
var_dump(isset($var4));
var_dump(isset($var5));
var_dump(isset($var6));
?>
출력 결과:
$var1; : bool(false)
$var2 = false; : bool(true)
$var3 = ''; : bool(true)
$var4 = 0; : bool(true)
$var5 = null; : bool(false)
$var6 = array(); : bool(true)
isset() 함수는 변수가 NULL인지 또는 정의되지 않았는지 확인합니다.
is_null() 함수
마지막으로 is_null() 함수의 출력 결과:
<?php
var_dump(is_null($var1));
var_dump(is_null($var2));
var_dump(is_null($var3));
var_dump(is_null($var4));
var_dump(is_null($var5));
var_dump(is_null($var6));
?>
출력 결과:
$var1; : bool(true)
$var2 = false; : bool(false)
$var3 = ''; : bool(false)
$var4 = 0; : bool(false)
$var5 = null; : bool(true)
$var6 = array(); : bool(false)
is_null() 함수는 변수가 NULL인지 확인합니다.
== 와 ===의 차이
<?php
$varA = 0; // 숫자형
$varB = FALSE; // 불리언형
var_dump($varA === FALSE); // bool(false)
var_dump($varB === FALSE); // bool(true)
?>
=== (동등 비교 연산자)는 값과 유형을 모두 검사합니다. == (비교 연산자)는 값만 검사합니다.
예를 들어:
<?php
var_dump(stripos('대한민국', '대') == FALSE); // bool(true)
var_dump(stripos('대한민국', '대') === FALSE); // bool(false)
?>
== 연산자는 반환값이 FALSE와 유사한 경우 true를 반환하지만, === 연산자는 반환값의 유형까지 검사합니다.