상세 컨텐츠

본문 제목

[PHP] isset() empty() 차이

php

by 2hansoul 2021. 9. 17. 18:44

본문

반응형

php 에서 값 검증을 할 때 자주 쓰이는 것이 isset() 과 empty() 함수이다

둘은 비슷하지만 상황에 따라 다르게 사용이 된다 

isset()

isset() 해당 변수에 값이 존재하는지(null값인지) 체크
true 아닌 값 (null)값은 false

<?php
// null 값 테스트
echo 'null 값 테스트 : ';
$val = null;

if(isset($val)){
  echo 'true';
}
else
{
  echo 'false';
}
null 값 테스트 : false
// 선언만한 변수 테스트
echo '선언만한 변수 테스트 : ';
$val2;

if(isset($val2)){
  echo 'true';
}
else
{
  echo 'false';
}
선언만한 변수 테스트 : false
// 공백 테스트
echo '공백 테스트 : ';
$val3 = '';

if(isset($val3)){
  echo 'true';
}
else
{
  echo 'false';
}
공백 테스트 : true
// 숫자 테스트
echo '숫자 테스트 : ';
$val4 = 1;

if(isset($val4)){
  echo 'true';
}
else
{
  echo 'false';
}
숫자 테스트 : true
// 빈 배열
echo '빈 배열 테스트 : ';
$val4 = array();

if(isset($val4)){
  echo 'true';
}
else
{
  echo 'false';
}
빈 배열 테스트 : true

 

if문 안에 isset 으로 null 값이 들어간 val을 검사하면 false 가 나온다

그외 변수에 숫자,문자,공백,0,빈배열 값이 들어가면 null값이 아니기 때문에 값이 있다고 true를 리턴한다

 

empty()

empty() 값이 비어있는지 체크 빈값이면 true 아니면 false

<?php
// null 값 테스트
echo 'null 값 테스트 : ';
$val = null;

if(empty($val)){
  echo 'true';
}
else
{
  echo 'false';
}
null 값 테스트 : true
// 선언만한 변수 테스트
echo '선언만한 변수 테스트 : ';
$val2;

if(empty($val2)){
  echo 'true';
}
else
{
  echo 'false';
}
선언만한 변수 테스트 : true
// 공백 테스트
echo '공백 테스트 : ';
$val3 = '';

if(empty($val3)){
  echo 'true';
}
else
{
  echo 'false';
}
공백 테스트 : true
// 숫자 테스트
echo '숫자 테스트 : ';
$val4 = 1;

if(empty($val4)){
  echo 'true';
}
else
{
  echo 'false';
}
숫자 테스트 : false
// 빈 배열
echo '빈 배열 테스트 : ';
$val4 = array();

if(empty($val4)){
  echo 'true';
}
else
{
  echo 'false';
}
빈 배열 테스트 : true

null,공백,0,빈 배열은 값이 없는 걸로 간주해 true를 

값이 1이거나 배열에 어떠한 값이 있으면 비어있지 않은것으로 간주해 false를 반환하다

 

iseset,empty 모두 값 검증을 위해 주로 쓰이며 조건문에 많이 사용된다 !를 통해 해당 조건에 반대조건에 쓰이기도한다 

 

반응형

'php' 카테고리의 다른 글

[PHP] addslashes  (0) 2021.10.01
[PHP] 간단한 로그인 POST값 넘기기  (0) 2021.09.30
[PHP] $_SERVER['DOCUMENT_ROOT']  (0) 2021.09.15
암호화 종류 scrypt / bcrypt / PBKDF2  (0) 2021.09.13
암호화 단방향 복호화 해싱  (0) 2021.09.10

관련글 더보기

댓글 영역