PHP if文での「==」と「===」の違い
if文の比較演算子で、イコールが2個続いた「==」とイコールが3個続いた「===」があります。
この違いですが、下記のサンプルをみれば、同じような値が入っていても実行結果は違います
<?php $int = 1234; $str = "1234"; print '== の比較' . "\n"; if ($int == $str) { print '$int == $str は同じ' . "\n"; }else{ print '$int == $str は違う' . "\n"; } print '=== の比較' . "\n"; if ($int === $str) { print '$int === $str は同じ' . "\n"; }else{ print '$int === $str は違う' . "\n"; } ?>
【実行結果】
== の比較 $int == $str は同じ === の比較 $int === $str は違う
PHPマニュアルにあるように、「===」のイコールが3個続いた場合は、int(整数型)、String(文字列型)等のデータの型まで比較します。
データ型まで比較が必要な場合は「===」を使います。それ以外の場合は「==」を利用します
$a == $b 型の相互変換をした後で $a が $b に等しい時に TRUE。
$a === $b $a が $b に等しく、および同じ型である場合に TRUE 。
PHP マニュアル 比較演算子 より(http://php.net/manual/ja/language.operators.comparison.php)
ディスカッション
コメント一覧
まだ、コメントがありません