본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP 참/거짓 — true, false, == 완전 정리

by 왕진 2026. 6. 26.
반응형

 

 

Web Development · PHP

PHP 참/거짓 —
true · false · == 비교

불리언이 화면에 어떻게 출력되는지 — 의외의 결과
시작 오늘 분석할 코드

true와 false를 직접 print로 찍어보고, 비교 결과(5 == 5)도 출력한다. 결과가 처음 보면 의외다.

<?php print true; print "<BR>"; print false; print "<BR>"; print (5 == 5); // 비교 결과 = true print "<BR>"; print (5 == 4); // 비교 결과 = false ?>
실제 출력 미리보기
1
(빈 줄)
1
(빈 줄)

용어 핵심 키워드
true참 — 출력 시 "1"
false거짓 — 출력 시 빈 문자열 ""
==동등 비교 (느슨함 — 타입 변환 함)
===엄격 비교 (값 + 타입 모두)
var_dump()정확한 타입과 값 표시 — 디버깅
대소문자true/TRUE/True 모두 같음

1 의외의 출력 — true는 "1", false는 ""

print는 문자열만 출력한다. 그래서 PHP는 불리언을 print할 때 자동으로 문자열로 변환한다.

  • true → 문자열 "1"
  • false → 빈 문자열 "" (아무것도 안 보임)
화면에 false가 안 보임 — 본 코드의 두 번째와 네 번째 줄은 빈 줄로 보인다. "false"라는 글자가 나오지 않는 게 PHP의 기본 동작이다.

2 정확한 값을 보려면 — var_dump()

디버깅용으로는 var_dump()가 표준이다. 타입과 값을 모두 보여준다.

var_dump(true); // bool(true) var_dump(false); // bool(false) var_dump(5 == 5); // bool(true) var_dump("hello"); // string(5) "hello" var_dump(42); // int(42)
💡 학습할 때 항상 var_dump 사용 — print는 결과만, var_dump는 타입까지. 처음엔 var_dump가 훨씬 도움이 된다.

3 ==과 ===의 차이
비교 == (느슨) === (엄격)
5 == 5 true true
"5" == 5 true (문자열 → 숫자) false (타입 다름)
0 == false true false
null == false true false
"" == 0 true (PHP 7까지) false
실무에선 ===를 쓰자 — == 의 자동 변환이 의도치 않은 버그를 만든다. 특히 사용자 입력 비교 시 위험. 가능하면 항상 ===.

 

반응형

 

4 "참 같은(truthy)" 값들

if ($x) 같은 조건문에서 false로 처리되는 값들을 외워두면 좋다. 그 외 모든 값은 true로 취급된다.

  • false로 취급되는 값:
    • false 자체
    • 0, 0.0, "0" (정확히 문자열 "0"!)
    • "" (빈 문자열)
    • null
    • 빈 배열 []
  • 그 외 모든 것은 true — "false"(문자열), "0.0"(문자열), -1, 0.1 등

5 비교 연산자 6종
연산자 의미 예 (5와 3)
== 같다 (느슨) 5 == 3 → false
!= 또는 <> 다르다 5 != 3 → true
=== 같다 + 타입 같다 5 === "5" → false
!== 다르거나 타입 다르다 5 !== "5" → true
< > <= >= 크기 비교 5 > 3 → true
<=> (PHP 7+) 스페이스십 — -1/0/1 5 <=> 3 → 1

6 자주 하는 실수
실수 증상 해결
= 와 == 혼동 대입이 됨 (조건이 항상 true) 비교는 ==, 가능하면 ===
print false 결과 기대 빈 출력 — 디버깅 어려움 var_dump 사용
"0"이 false인 줄 모름 예상 못한 분기 외우거나 === 사용
"false"라는 문자열을 false로 기대 true로 평가됨 실제 false 또는 != "false"

핵심 한 줄 요약

print true"1" 출력
print false빈 문자열 (안 보임)
var_dump()디버깅 — 타입+값
==느슨한 비교 — 타입 변환
===엄격 비교 — 권장
false 취급 값false / 0 / "" / null / []

Tags

#PHP #true #false #불리언 #var_dump #비교연산자 #엄격비교 #느슨한비교 #truthy #falsy #백엔드 #CSS #HTML #웹개발 #티스토리
▼ 티스토리 태그 입력란 복사용
PHP, true, false, 불리언, var_dump, 비교연산자, 엄격비교, 느슨한비교, truthy, falsy, 백엔드, CSS, HTML, 웹개발, 티스토리
반응형

댓글