isset()
함수와 empty()
함수
PHP의 isset()
함수와 empty()
함수는 둘 다 변수의 상태를 확인하는 함수입니다.
isset()
함수는 변수가 선언되어 있고,null
이 아닌 경우에만true
를 반환하는 반면,empty()
함수는 변수가 선언되어 있고, 값이null
인 경우에도true
를 반환합니다.
이러한 isset()
함수와 empty()
함수의 개념 정리 및 사용법과 차이점에 대해 알아봅니다.
isset()
함수와 empty()
함수의 차이점 비교
지금까지 설명한 내용을 토대로 PHP의 isset()
함수와 empty()
함수의 차이점을 반환 값 기준으로 정리한 표로 비교해 보겠습니다.
반환 값 | isset() |
empty() |
---|---|---|
변수가 존재하지 않을 경우 | false |
true |
변수의 값이 있는 경우 | true |
false |
변수의 값이 없는 경우(null ) |
false |
true |
변수의 값이 빈 문자열일 경우 | true |
true |
변수의 값이 빈 배열일 경우 | true |
true |
변수의 값이 빈 객체일 경우 | true |
false |
isset()
함수
isset()
함수는
변수의 존재하고 값이 존재하는지를 확인하는 함수입니다.
isset()
함수는
변수가 존재하고 그 값이 null
이 아닌 어떤 값(비어 있더라도)이든 가지고 있다면 true
를 반환하고,
그렇지 않으면 false
를 반환합니다.
주의하세요!
isset()
함수는 변수의 값이 false
, 빈 문자열, 빈 배열, 빈 객체일 경우 true
를 반환합니다.
isset()
함수의 형식은 다음과 같습니다.
구문
매개변수
$var |
필수. 확인할 변수 또는 배열 요소. |
---|---|
$vars |
옵션. 확인할 추가 변수 또는 배열 요소입니다.
확인할 변수가 여래 개일 경우 쉼표( , )로 구분해서 순서대로 나열하면 됩니다.
여러 개의 매개변수가 제공된 경우 isset() 함수는 모든 매개변수가 설정되어 있는 경우에만 true 를 반환합니다. 평가는 왼쪽에서 오른쪽으로 이루어지며, 설정되지 않은 변수가 발견되면 즉시 평가를 멈춥니다. |
반환 값
변수가 존재하고 null
이 아닌 어떤 값이든 가지고 있다면 true
를 반환하며, 그렇지 않은 경우에는 false
를 반환합니다.
예시 사용법
isset()
함수는 변수가 존재하고 null
이 아닌 어떤 값이든 가지고 있다면 true
를 반환하며, 그렇지 않은 경우에는 false
를 반환합니다.
isset()
함수로 배열의 키 확인하기
PHP에서 배열의 키가 있는지 확인하는 array_key_exists()
내장 함수가 있지만 , isset()
함수를 이용해서도 배열의 키가 있는지 확인 할 수 있습니다.
아래는 배열에서 특정 키가 존재하는지를 isset()
함수를 사용하여 확인하는 예시입니다.
위의 예시에서 $myArray
는 연관 배열을 나타내며, isset()
함수를 사용하여 배열 키 'name'
과 'gender'
의 존재 여부를 확인하고 있습니다. 'name'
은 배열에 존재하므로 첫 번째 조건이 true
로 평가되고, 'gender'
는 배열에 존재하지 않으므로 두 번째 조건이 false
로 평가됩니다.
따라서 결과는 다음과 같이 나타납니다.
isset()
함수를 사용하여 배열 요소의 존재 여부를 확인함으로써 배열에 접근하고 처리할 수 있습니다. 연관 배열이 아닐 경우 배열의 인덱스로 접근할 수 있습니다.
empty()
함수
empty()
함수는
변수의 존재 여부와 값이 비어 있는지를 확인하는 함수입니다.
empty()
함수는
변수가 존재하지 않거나, 존재하더라도 그 값이 없거나 비어있으면 true
를 반환하고,
그렇지 않으면 false
를 반환합니다.
값이 없거나 비어있다는 의미는 다음과 같습니다.
- 값이 할당되지 않았을 경우 (
null
) - 빈 문자열일 경우 (
''
) - 숫자 0일 경우 (
0
또는0.0
) - 빈 배열일 경우 (
array()
) false
일 경우
주의하세요!
PHP에서 빈 값의 객체는 falsey로 취급하지 않습니다. 따라서, empty()
함수는 변수의 값이 빈 값의 객체일 경우 false
를 반환합니다.
알아두세요!
PHP에서 빈 값의 객체인지 알 수 있는 방법중 하나는 주어진 객체의 속성을 배열로 가져 오는 get_object_vars()
함수로 쉽게 알 수 있습니다.
empty()
함수의 형식은 다음과 같습니다.
구문
매개변수
$var |
필수. 확인할 변수 또는 배열 요소 |
---|
반환 값
변수가 존재하지 않거나 비어있는 값이거나 0과 같은 "falsey(거짓같은)" 값인 경우에 true
를 반환하며, 그렇지 않은 경우에는 false
를 반환합니다. 이는 부울(Boolean)으로 변환할 때 false
로 간주되는 값들을 의미합니다.
따라서 empty() 함수의 반환 값은 다음과 같이 나타납니다.
- 변수가 존재하지 않거나 비어있는 값이거나 0과 같은 "falsey" 값인 경우:
true
- 그렇지 않은 경우 (값이 존재하고 비어있지 않거나 0이 아닌 경우):
false