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] 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 |
댓글 영역