マルチバイト文字列の位置を取得する関数mb_strpos()で注意すること

マルチバイト文字列の位置を取得するにmb_strpos()という関数がありますが、処理する場合には、注意が必要です。

mb_strpos(文字列,検索文字,[開始位置],[エンコーディング])

と記述します。

・文字列の中に検索文字が最初に現れる位置を返します。
・「文字列」が見つからなかった場合は、FALSEを返す。
・「部分文字列」が存在するか否かを調べたい場合、この関数が返す値が「0」の場合もあるため、
以下のように処理する。

if(mb_strpos($str,$part) === FALSE) {
見つからなかった時の処理;
}

あるいは

if(is_numeric(mb_strpos($str,$part))) {
見つかった時の処理;
}

このページの先頭へ