Backend/php

[PHP] 함수 isset(), empty()

민57 2020. 3. 4. 14:50

 

isset() : 변수의 존재를 확인해주는 함수

변수가 선언되었는지 확인할 때 사용된다.

<?php
    if (isset($monster)) {
        echo "- 변수 monster 존재합니다.";
    } else {
        echo "- 변수 monster가 존재하지 않음. <br>";
        $monster = "monster";
        echo "- 생성되었습니다.";
    }

    echo "<br>";
    
    if (isset($monster)) {
        echo "- 변수 monster 존재합니다.";
    } else {
        echo "- 변수 monster가 존재하지 않음. <br>"; 
    } 
?>

 

Result

- 변수 monster가 존재하지 않음.
- 생성되었습니다.
- 변수 monster 존재합니다.

 

 

 


 

 

 

empty() : 변수의 값이 비었는지 확인하는 함수

비어 있는 값이라면 true를 반환한다.

빈 문자열 $str = '';
null 데이터형 $var = null;
데이터가 없는 배열 $arr = array(); $arr = [];
숫자 0과 문자열 "0" $num = 0; $str = "0";

 

<?php
    $var = '';
    echo "값이 빈 문자열인 경우 : ";
    var_dump(empty($var));
    echo "<br>";

    $var = null;
    echo "값이 null인 경우 : ";
    var_dump(empty($var));
    echo "<br>";

    $var = array();
    echo "값이 빈 배열인 경우 : ";
    var_dump(empty($var));
    echo "<br>";

    $var = '0';
    echo "값이 문자열 0인 경우 : ";
    var_dump(empty($var));
    echo "<br>";    
?>

 

Result

값이 빈 문자열인 경우 : bool(true)
값이 null인 경우 : bool(true)
값이 빈 배열인 경우 : bool(true)
값이 문자열 0인 경우 : bool(true)

 

다른 프로그래밍 언어들과 다르게 0과 '0'을 null과 같은 취급을 하는게 신기하다.

$var = null -1  을 하면 int형 정수 -1이 대입된다.

즉, null을 0으로써 이용이 가능하다.

 

728x90