strpos()で文字列を含むか判定時 “==false”としてはいけない

strpos()で検索したい文字列に特定の文字列が含まれるか調べられる。含まれる場合は何文字めから開始の数字を返し、含まれないならfalseを返す。

$string = "apple_pencil";
$key = "apple";
$result = strpos($string,$key);  // 0

///だめな例
if($result == false){
 //含まれない場合の処理
} 

///正しい例
if($result === false){
 //含まれない場合の処理
} 

この場合だと最初から文字列が含まれるので0を返すが、0 == false はtrueになってしまうので型まで含めて一致判定をする必要がある。

ハックノートをフォローして
最新情報をチェックしよう

AWSの移行・構築はプロにおまかせ

サーバーからAWSへの移行も新規構築も初期費用無料です。
面倒なサーバー業務は全てお任せください。

くわしく読む