php에서 isset(), empty(), is_null() 기능이 많이 헷깔립니다.

0 투표
345 조회
변수를 체크하는 내장 함수인데 결과 값이 예상했던 것과 다르게 나와 낭패네요.

정확히 어떤 역할을 하는지가 궁금합니다.
요청 : 2015년 2월 09일 서버 언어 분류 내 작성자 query (2,020 포인트)

1 개의 답변

0 투표

아래를 참고하세요.(테스트 버전 : PHP 5.3.X)

<?php
// ""(an empty string)
$var = "";
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// " "(Space)
$var = " ";
isset($var); // return true
empty($var); // return false
is_null($var); // return flase


// FALSE
$var = FALSE;
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// TRUE
$var = TRUE;
isset($var); // return true
empty($var); // return false
is_null($var); // return flase


// Empty Array
$var = array();
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// NULL
$var = NULL;
isset($var); // return false
empty($var); // return true
is_null($var); // return true


// "0"
$var = "0";
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// 0
$var = 0;
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// 0.0
$var = 0.0;
isset($var); // return true
empty($var); // return true
is_null($var); // return flase


// $var
$var;
isset($var); // return false
empty($var); // return true
is_null($var); // return true


// NULL byte
$var = "\0";
isset($var); // return true
empty($var); // return false
is_null($var); // return flase
?>

 

답변: 2015년 2월 09일 작성자 queryeditor (5,040 포인트)
수정일시 : 2015년 2월 09일 작성자 queryeditor