PHPで値と型が共に一致しているかチェックするには、
通常判定に使う「==」ではなく、「===」を使用します。
サンプルソース
例)比較に「===」を使ったサンプル
<?php
//$valに数値の9をセットする
$val=9;
//「==」での比較
if($val=='9')
→true //数値の9と文字の9の比較。 「==」の場合は型は異なっていてもOKなのでtrue
//「===」での比較1
if($a==='9')
→false //数値の9と文字の9の比較。 「===」の場合は型が異なっているとNGなのでfalse
//「===」での比較2
if($a===(int)'1')
→true //キャストして比較しているので、true
備考
- 値と型を厳密に比較したい場合は「===」(=が3つ)を使用します。
- 型が一致しているかどうか重要でない場合は「==」(=が2つ)を使用します。