【PHP】指定した文字列が最初に現れる場所を番号で返す関数「strpos()」「mb_strpos」

Pocket

今回は「指定した文字列が検索文字列内に存在する場合、最初の文字を0にして指定した文字が最初に現れる番号」を返す関数、「strpos()」マルチバイト版「mb_strpos()」を使用してみます。

「strpos()」関数

早速サンプルを見てみましょう。

「strpos()」関数で「Hello」の文字列から変数「$answer1」で「o」の場所を探します。一番最初の文字が0なので、「o」の位置である「4」が返ってきています。
「$answer2」は「l」を検索します。「Hello」という文字列には「l」が二つ含まれていますが、最初に現れる場所は「2」となり、この数値が変数に返されるます。
「$answer3」は「z」を検索しますが、「Hello」という文字列に「z」は含まれていないため、何の値も返ってきません。var_dumpで確認してみるとfalseとなっています。

 

「mb_strpos()」関数

「mb_strpos()」は「strpos()」のマルチバイト版です。日本語を「strpos()」で検索すると番号ではなく長さが返ってきてしまい上手く動作しません。日本語には「mb_strpos」を使用して、指定した文字列が最初に現れる場所を検索します。

 

エッグ

シェアする

コメントを残す

メールアドレスが公開されることはありません。

コメントする