728x90
반응형
empty() 함수는 이용하여 해당 변수가 비어 있는지 이용합니다. 비어 있는지를 확인하는 범위가 일반적으로 생각하는 것보다 범위가 무척 넓습니다.
일반적으로 문자열이라면, "" 및 null을 비어 있다고 볼 수 있겠고, " " 공백 한 문자도 경우에 따라서는 비어 있다고 할 수 있겠습니다.
하지만, PHP empty() 함수가 비어 있다고 판단하는 범위는 아래와 같습니다.
- 변수 자체가 선언(undefined)되어 있지 않음
- null
- ""
- 0
- false
- 0.0
- "0"
- array() ; 빈 배열
아래 empty() 함수를 사용한 예제를 확인해 보시기 바랍니다.
위 코드를 실행한 결과는 아래와 같습니다.
PHP 개발시, empty() 함수를 이용할 때, isset() 함수까지 대체하여 사용하실 수 있으나, 내가 원하는 결과에 맞게 나올지는 고민하고 사용하셔야 합니다.
특히, "0" 까지도 빈 것으로 판단을 하므로, 실제로는 숫자인 것으로 문자열 자료를 empty() 함수로 빈 문자열인지 확인할 때, 의도한 것과는 다르게 동작할 수 있으므로 주의가 필요합니다.
무조건 empty() 함수를 이용하는 것보다는 프로그램의 흐름에 맞게 isset() 함수와 실제 처리 로직에 맞추어 값을 비교하는 방식으로 코딩을 하면 실수를 줄 일 수 있습니다.
'프로그래밍 > PHP' 카테고리의 다른 글
[PHP] 문자열 결합 성능 비교 (Comparison of string concatenation performance) (0) | 2019.12.24 |
---|---|
PHP에서 기본 시간대(timezone)에 대하여 (0) | 2019.10.26 |
[PHP] 경고 : Creating default object from empty value (1) | 2019.08.28 |
[PHP] xDebug를 이용한 서버 원격 디버깅 (1) | 2019.08.22 |
PHP에서 root 권한으로 내부 명령 실행하기 (2) | 2019.06.07 |