PHPによるプログラミングで2つの値を比較する際に『イコール2個』と『イコール3個』を使う場合があります。
それぞれの違いは以下から。
比較演算子の『==』と『===』の違い
イコール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」と
//型を含めて比較すると等しくないので何も表示されない。
なお、イコール2個・イコール3個と同様に、「等しくない」比較である「!=」にも型を含めて比較を行う「!==」が存在し
ます。
![[PHP] 比較演算子の『==』と『===』の違い](http://blog.diginnovation.com/wp-content/uploads/2013/03/php_equal_num-300x225.jpg)


コメント