[PHP] ==, !=, ===, !== 비교 연산자로 0과 false 견주기
그물터 관리/PHP
2023/04/21 22:53
PHP에서 false와 0을 비교 연산자로 견주면 어떤 결과가 나오는지 알아 보려고 다음과 같은 부호글을 만들어 보았다.
$a = array(false, 0);
echo '$a : ';
var_dump($a);
echo "<br>\n";
foreach($a as $b) {
echo "<br>\n";
echo '$b : ';
var_dump($b);
echo "<br>\n";
if($b == 0) echo "\$b == 0 <br>\n";
if($b != 0) echo "\$b != 0 <br>\n";
if($b == false) echo "\$b == false <br>\n";
if($b != false) echo "\$b != false <br>\n";
if($b === 0) echo "\$b === 0 <br>\n";
if($b !== 0) echo "\$b !== 0 <br>\n";
if($b === false) echo "\$b === false <br>\n";
if($b !== false) echo "\$b !== false <br>\n";
}
이 부호글을 실행한 결과는 아래와 같다.
array(2) { [0]=> bool(false) [1]=> int(0) }
$b : bool(false)
$b == 0
$b == false
$b !== 0
$b === false
$b : int(0)
$b == 0
$b == false
$b === 0
$b !== false
0과 false를 == 또는 != 연산자로 견준 결과는 서로 같다.
하지만 === 또는 !== 연산자를 쓰면 변수값만이 아니라 변수형까지 따지므로 0과 false를 견준 결과가 서로 다르게 나타난다.
"0 == false"이지만 "0 === false"는 아니다.
덧글을 달아 주세요