728x90

isset 함수는 변수 자체가 존재하는지 여부를 알려준다.

isset() 함수는 변수가 존재하면 true를 반환한다.


empty 함수는 값이 true 인지 검사한다.

empty 함수는 값이 0 또는 null 이면 true

                    값이 존재하면 false 를 반환 한다.
변수가 존재하지 않아도 true 를 반환하므로 주의해야 한다.

isset()함수는 0 이든 문자열 "0"이든 값이 설정되어 있기 때문에 True를 반환한다.


unset($var); // 주어진 변수를 제거한다.

배열 전체를 제거할 수도 있고 배열의 원소 일부만 제거할 수도 있다.

unset($arr[0]); // $arr 배열의 첫번째 원소만 제거


is_array($arr); // 주어진 변수($arr)가 배열인지를 확인한다.



변수를 변경해가면서 테스트해 보면 화면에 어떤 결과를 보여주는지 확인할 수 있다.


<?php
    //$var = "Who are you?";
    //$var = false;
    $var = "";  // 변수는 있고 값은 없다.
    //$var = 0; // 변수는 있고 0은 false 로 인식한다.
    //$var = NULL;  // 변수 없고, 값도 없다.

    echo "var : ".$var."<br /><br />";

    if(isset($var)) {
        echo "변수가 있어요"."<br /><br />";
    } else {
        echo "변수가 없어요"."<br /><br />";
    }

    if(empty($var)) {
        echo "empty true : ".$var ."<br /><br />";
    } else {
        echo "empty false : ".$var ."<br /><br />";
    }

    if($var) {
        echo "값이 존재 : ".$var ."<br /><br />";
    } else {
        echo "값이 XX : ".$var ."<br /><br />";
    }

    if(isset($var) && !empty($var)) {
        echo "두개의 조건 만족 : ".$var ."<br /><br />";
    } else {
        echo "두개의 조건을 만족하지 않아요";
    }

?>


PHP의 문자열은 문자열을 '문자배열'로 간주해 배열처럼 첨자를 붙일 수 있다.

$str = 'student';

echo $str[3];

echo $str['a'];  // PHP 5.4 이상에서는 warning 발생처리

PHP 5.3까지는 $str['a'] 에서 a를 첫번째로 간주하여 첫번째 문자 s를 출력한다.

따라서 if(isset($str['a'])) 로 검사할 경우에 오류가 발생할 수 있다.

PHP 5.3까지는 true를 반환하고, PHP 5.4 이상에서는 false 를 반환한다.


$_GET['id'] 로 변수를 받았는데 경고 메시지가 나오면 3항 연산자를 사용하여

$id = isset($_GET['id']) ? $_GET['id'] : '';

로 해주면 된다.


'Web 프로그램 > PHP 문법' 카테고리의 다른 글

[PHP] 배열에만 동작하는 foreach 문  (0) 2017.01.26
PHP Class 개념 이해 ★★  (0) 2017.01.10
PHP 대체 문법  (0) 2016.04.05
[PHP] switch 문  (0) 2015.06.01
[PHP] 문자열 자르기 substr  (0) 2015.05.16
블로그 이미지

Link2Me

,