Menu
Coddy logo textTech

Equality & Identity

Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 24번째.

PHP는 값이 같은지 확인하는 두 가지 방법을 제공합니다: 동등성 연산자 (==)와 일치 연산자 (===). 이 차이점을 이해하는 것은 신뢰할 수 있는 코드를 작성하는 데 중요합니다.

등호 연산자(==)는 값을 같은 유형으로 변환한 후 비교합니다. 이것을 "느슨한 비교"라고 합니다:

<?php
var_dump(5 == "5");    // bool(true) - 문자열이 숫자로 변환됨
var_dump(0 == false);  // bool(true) - 둘 다 0이 됨
var_dump(1 == true);   // bool(true) - 둘 다 1이 됨
?>

동등성 연산자(===)는 값 타입을 모두 비교합니다. 변환이 일어나지 않으므로, 둘 다 정확히 일치해야 합니다:

<?php
var_dump(5 === "5");   // bool(false) - int vs string
var_dump(5 === 5);     // bool(true) - same type and value
var_dump(0 === false); // bool(false) - int vs bool
?>

"같지 않음" 비교를 위해 != (느슨한) 또는 !== (엄격한)을 사용하세요:

<?php
var_dump(5 != "5");    // bool(false) - 값이 같음
var_dump(5 !== "5");   // bool(true) - 타입이 다름
?>

모범 사례로서, 예상치 못한 타입 변환 문제를 피하기 위해 ===!==을 선호하세요.

challenge icon

챌린지

쉬움

입력에서 두 값을 읽으세요: 문자열로 된 숫자와 정수.

다음 비교를 평가하기 위해 등식 및 동일성 연산자를 사용하고, 각 결과를 var_dump()를 사용하여 새 줄에 하나씩 출력하세요:

  1. 느슨한 비교(==)를 사용하여 문자열 값이 정수와 같은지 확인하세요
  2. 엄격한 비교(===)를 사용하여 문자열 값이 정수와 같은지 확인하세요
  3. 느슨한 비교(!=)를 사용하여 문자열 값이 정수와 같지 않은지 확인하세요
  4. 엄격한 비교(!==)를 사용하여 문자열 값이 정수와 같지 않은지 확인하세요

참고: 첫 번째 값을 문자열로 유지하세요 (캐스팅하지 마세요). 두 번째 값을 정수로 캐스팅하세요.

예시:

입력값이 4242인 경우, 출력은 다음과 같아야 합니다:

bool(true)
bool(false)
bool(false)
bool(true)

설명:

  • "42" == 42은 true입니다 (타입 변환 후 값이 같음)
  • "42" === 42은 false입니다 (문자열 vs 정수 - 다른 타입)
  • "42" != 42은 false입니다 (값이 같음)
  • "42" !== 42은 true입니다 (타입이 다름)

치트 시트

PHP는 값을 비교하는 두 가지 방법을 가지고 있습니다:

동등성 연산자 (==) - 비교 전에 값을 동일한 유형으로 변환하는 느슨한 비교:

<?php
var_dump(5 == "5");    // bool(true) - 문자열이 숫자로 변환됨
var_dump(0 == false);  // bool(true) - 둘 다 0이 됨
var_dump(1 == true);   // bool(true) - 둘 다 1이 됨
?>

일치 연산자 (===) - 값과 유형을 모두 확인하는 엄격한 비교:

<?php
var_dump(5 === "5");   // bool(false) - int vs string
var_dump(5 === 5);     // bool(true) - 동일한 유형과 값
var_dump(0 === false); // bool(false) - int vs bool
?>

불일치 연산자:

<?php
var_dump(5 != "5");    // bool(false) - 값이 같음 (느슨함)
var_dump(5 !== "5");   // bool(true) - 유형이 다름 (엄격함)
?>

모범 사례: 예상치 못한 유형 변환을 피하기 위해 ===!==를 사용하세요.

직접 해보기

<?php
// 입력 읽기
$stringValue = trim(fgets(STDIN));
$intValue = intval(trim(fgets(STDIN)));

// TODO: 아래에 코드를 작성하세요
// var_dump()를 사용하여 각 비교 결과의 결과를 새 줄에 출력하세요:
// 1. 느슨한 동등성 (==)
// 2. 엄격한 동등성 (===)
// 3. 느슨한 불평등 (!=)
// 4. 엄격한 불평등 (!==)

?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨