PHP의 empty(), isset(), is_null(), ==, === 함수의 차이점

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를 반환하지만, === 연산자는 반환값의 유형까지 검사합니다.

태그: PHP empty isset is_null ==

10월 1일 16:51에 게시됨