isset()와 empty()PHP의
isset()함수와empty()함수는 둘 다 변수의 상태를 확인하는 함수이다
isset()함수는 변수가 선언되어 있고, null이 아닌 경우에만 true를 반환하는 반면,empty()함수는 변수가 선언되어 있고, null인 경우에도 true를 반환한다
| 반환 값 | isset() | empty() |
|---|---|---|
| 변수가 존재하지 않을 경우 | false | true |
| 변수의 값이 있는 경우 | true | false |
변수의 값이 없는 경우(null) | false | true |
| 변수의 값이 빈 문자열('')일 경우 | true | true |
| 변수의 값이 빈 배열일 경우 | true | true |
| 변수의 값이 빈 객체일 경우 | true | false |
isset() 함수
isset()함수는
변수가 존재하고 값이 존재하는지를 확인하는 함수이다
그 값이null이 아닌 어떤 값(비어 있더라도)이든 가지고 있다면true를 반환하고,
그렇지 않으면false를 반환한다
💡isset()함수는 변수의 값이 false, 빈 문자열, 빈 배열, 빈 객체일 경우true를 반환한다
isset(mixed $var[, mixed ...$vars]): bool
$var : 필수 확인할 변수 또는 배열 요소
$vars : 옵션 확인할 추가 변수 또는 배열 요소이다
확인할 변수가 여러 개일 경우 쉼표(,)로 구분해서 순서대로 나열하면 된다
여러 개의 매개변수가 제공된 경우 isset() 함수는 모든 매개변수가 설정되어 있는 경우에만
true를 반환한다 평가는 왼쪽에서 오른쪽으로 이루어지며, 설정되지 않은 변수가 발견되면
즉시 평가를 멈춘다
반환값은 변수가 존재하고 null이 아닌 어떤 값이든 가지고 있따면 true를 반환하며,
그렇지 않은 경우에는 false를 반환한다
empty() 함수
empty()함수는
변수의 존재 여부와 값이 비어 있는지를 확인 하는 함수이다
변수가 존재하지 않거나, 존재하더라도 그 값이 없거나 비어있으면true를 반환하고,
그렇지 않으면false를 반환한다
값이 없다는 의미는 다음과 같다
- 값이 할당되지 않았을 경우 (
null)- 빈 문자열일 경우 (
'')- 숫자 0일 경우 (
0또는0.0)- 빈 배열일 경우 (
array())false일 경우
💡 PHP에서 빈 값의 객체는falsey로 취급하지 않는다 따라서,
empty()함수는 변수의 값이 빈 값의 객체일 경우false를 반환한다
empty(mixed $var): bool
$var : 필수 확인할 변수 또는 배열 요소
반환 값은 변수가 존재하지 않거나 비어있는 값이거나 0과 같은 falsey 값인 경우에
true를 반환하며, 그렇지 않은 경우에는 false를 반환한다
이는 불리언으로 변환할 때 false로 간주되는 값들을 의미한다
따라서 empty() 함수의 반환 값은 다음과 같이 나타낸다
falsey 값인 경우 : truefalse