PHP 유형 비교
느슨한 비교: 비교를 위해 두 개의 등호 ==를 사용하고 유형이 아닌 값만 비교합니다.
엄격한 비교: 세 개의 등호 ===를 사용하여 비교하고 값을 비교하는 것 외에도 유형도 비교합니다.
예를 들어 "42"는 문자열이고 42는 정수입니다. FALSE는 부울 값이고 "false"는 문자열입니다.
<?php if (42 == "42") { echo '1、值相等'; } echo PHP_EOL; // 换行符 if (42 === "42") { echo '2、类型相等'; } else { echo '3、不相等'; } ?>
위 예제의 출력 결과는 다음과 같습니다.
1, 동일한 값
3, 기다리지 않음
PHP에서 0, false, null 비교
테스트 코드:
예:
<?php echo '0 == false: '; var_dump(0 == false); echo '0 === false: '; var_dump(0 === false); echo PHP_EOL; echo '0 == null: '; var_dump(0 == null); echo '0 === null: '; var_dump(0 === null); echo PHP_EOL; echo 'false == null: '; var_dump(false == null); echo 'false === null: '; var_dump(false === null); echo PHP_EOL; echo '"0" == false: '; var_dump("0" == false); echo '"0" === false: '; var_dump("0" === false); echo PHP_EOL; echo '"0" == null: '; var_dump("0" == null); echo '"0" === null: '; var_dump("0" === null); echo PHP_EOL; echo '"" == false: '; var_dump("" == false); echo '"" === false: '; var_dump("" === false); echo PHP_EOL; echo '"" == null: '; var_dump("" == null); echo '"" === null: '; var_dump("" === null);
위 예의 출력 결과는 다음과 같습니다.
0 == false: bool(true)
0 === false: bool(false )
0 == null: bool(true)
0 === null: bool(false)
false == null: bool(true)
false === null: bool(false)
"0" == false: bool(true)
"0" === false: bool(false)
"0" == null: bool(false)
"0" === null: bool(false)
" " == false: bool(true)
"" === false: bool(false)
"" == null: bool(true)
"" === null: bool(false)