文字列の先頭から文字列位置を検出する(マルチバイト対応)

version:4.06以降

必要ライブラリ:mb_string

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

戻り値:検索語の位置が整数で返ってきます。含まれていない場合はfalseが返ります。

文字列の先頭から文字列位置を検出します。マルチバイト対応しています。
例の場合、マルチバイトに対応していなければ「~」はヒットします(Shift-JISの場合、 円の下位バイトが~と同じコードになっているためです)。
また、文字列の末尾から検索するにはmb_strrposを使用します。 どちらも、前方からの文字数が戻り値となります。

:

検索文字列 $string = "23時54分 100円"

呼び出し結果
mb_strpos($string, "2")0
mb_strpos($string, "時")2
mb_strpos($string, "4")4
mb_strpos($string, "日")false
mb_strpos($string, "円")10
mb_strpos($string, "~")false