== と === の違い(比較演算子)

PHPではif文などの真偽を判定するときに、== や === を使用しますが、この==と===の違いは、値のみを見るか型まで見るかの違いです。

[参照記事] Javaでの==の意味

結果
$a == $b型の相互変換をした後で $a が $b に等しい時に TRUE。
$a === $b$a が $b に等しく同じ型でである場合に TRUE。
$a != $b型の相互変換をした後で $a が $b に等しくない場合に TRUE。
$a !== $b$a が $b と等しくないか、同じ型でない場合に TRUE。
$a <> $b型の相互変換をした後で $a が $b に等しくない場合に TRUE。
$a = "0";
$b = 0;
if($a == $b){
  echo "true";
}else{
  echo "false";
}

trueが出力されます。

$a = "0";
$b = 0;
if($a === $b){
  echo "true";
}else{
  echo "false";
}

falseが出力されます。

== の逆は != です。
=== の逆は !== です。
<> と != は同じです。

$a = false;
$b = "false";
if($a == $b){
  echo "true";
}else{
  echo "false";
}

この場合、falseが出力されます。
なぜならfalseはbooleanのfalseで、"false"は文字列のfalseのため、文字列"false"をbooleanに変換するとtrueになるからです。

関連記事

スポンサーリンク

スイッチングハブとリピータハブの違い

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る