strposでハマる ==falseと===falseの違い


まず、以下の結果を見てください。

$array_company_name='株式会社タカラ';
if(strpos($array_company_name,"株式") == false){
    echo "A";
}else{
    echo "B";
}

print_r(strpos($array_company_name,"株式"));

if(strpos($array_company_name,"株式") === false){
    echo "A";
}else{
    echo "B";
}

print_r(strpos($array_company_name,"株式"));

この結果ですが、最初の ==falseの方は、
「A」と「0」
次の===falseの方は
「B」と「0」
となりました。

このstrposをfalseとともに使う場合は、===falseもしくは!==falseで使うようにしないといけないですね。文字列がない場合はを「==false」でいると思い、時間を食いました。