マルチバイト文字列の位置を取得する関数mb_strpos()で注意すること
2012年01月27日
マルチバイト文字列の位置を取得するにmb_strpos()という関数がありますが、処理する場合には、注意が必要です。
mb_strpos(文字列,検索文字,[開始位置],[エンコーディング])
と記述します。
・文字列の中に検索文字が最初に現れる位置を返します。
・「文字列」が見つからなかった場合は、FALSEを返す。
・「部分文字列」が存在するか否かを調べたい場合、この関数が返す値が「0」の場合もあるため、
以下のように処理する。
if(mb_strpos($str,$part) === FALSE) {
見つからなかった時の処理;
}
あるいは
if(is_numeric(mb_strpos($str,$part))) {
見つかった時の処理;
}

