[PHP] ==, !=, ===, !== 비교 연산자로 0과 false 견주기

  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"는 아니다.

글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요