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 |