比較演算子の『==』と『===』の違い

比較演算子の『==』と『===』の違い

比較を行う時に間違えやすい記述。
なお、イコール2個・イコール3個と同様に、「等しくない」比較である「!=」にも型を含めて比較を行う「!==」が存在します。

$hoge = 10; //変数「$hoge」は「文字列」ではなく「整数」
 
//イコール2個の場合
if($hoge == '10'){ //「文字列」の10と比較
    echo "$hogeは文字列の10です。";
}
//実行結果
//「$hogeは文字列の10です。」と表示される
 
//イコール3個の場合
if($hoge === '10'){ //「文字列」の10と比較
    echo "$hogeは文字列の10です。";
}
//実行結果
//$hogeは「整数の10」であり、「文字列の10」と
//型を含めて比較すると等しくないので何も表示されない。

参考サイト

自由が丘で働くWeb屋のブログ
比較演算子の『==』と『===』の違い
http://blog.diginnovation.com/archives/4623/