본문 바로가기
기타

php8 변수 빈값 확인 조건문

by zgabriel 2026. 5. 16.
728x90
반응형
$rst = ($a)? $a:"default";

 

PHP8에서 위 소스는 $a 변수가 비선언되어 있으면 경고를 발생시킨다.


그래서, 아래와 같이 변경해야한다.

 

$rst = ($a ?? '') !== '' ? $a : 'default';


. $a ?? '' 는 $a가 선언되지 않았거나 null이면 경고 없이 빈 문자열('')을 반환

 

. 그 값이 빈 문자열이 아니라면 $a를 그대로 사용하고, 빈 문자열이면 'default'를 사용

 

또는...

 

$rst = (!empty($a))? $a : 'default';


이렇게 사용할 수도 있는데 $a 에 0 이 들어오면 empty는 비어있다고 판단해서 default 가 입력된다.

 

$a 에 0 이 입력되지 않는 경우만 사용하면 되겠다.


참고로....

 $rst = ($a)?? "default";  

위 소스를 처음으로 사용했는데 의도와는 전혀 다른 오류를 발생시켰다.

$a="" 이렇게 빈값으로 초기화 했을 경우 default 가 아닌 빈값이 들어간다는거다 ㅡㅡ


 

 

728x90
반응형