2015年11月9日

PHP 文字列から文字を検索する(後ろから)

«
»

Pocket

前回に引き続き、「ある文字列の中に特定の文字があるかどうかを検索する
方法を紹介したいと思います。ただし、今回は「文字列の後ろから検索」します。
まずはサンプルプログラムをみてみましょう。
 


<?php

$moji = "隣の竹やぶに竹立てかけたのは、竹立てかけたかったから竹立てかけたのさ";

$pos =  mb_strpos($moji, "竹"); //$mojiの先頭から「竹」を探す

echo $pos;

echo "<br>";

$pos2 =  mb_strrpos($moji, "竹"); //strposではなく、strrposとrが増える

echo $pos2;

実行結果

mb_strrpos

解説

mb_strposでは$mojiの先頭から「竹」を検索します。
一方、strrposとrが1つ増えたstrrpos関数を使うと$mojiの後方(後ろ)から
「竹」を検索します。
 
従って、2文字目に最初の竹が(実際には3文字目)、
26文字目に最後の竹があることがわかります。

まとめ

・mb_strrpos(検索対象の文字列,検索したい文字列)で文字列の検索ができる
 
・ただし、文字列の後方から検索する
 
・返り値は対象の文字列の何文字目に見つかったのか
(ただし、実際の文字数−1となる)

【関連する記事】