2008/12/25

[php]文字列がある位置を特定してくれるstrpos

なんか、phpって検索系の関数が多いような気がするのですが、他の言語でもそうなのでしょうか?

今、作っているアプリでstrposという関数を使う機会があったので、ここにまとめてみたいと思います。

まず、マニュアルを引用します。

strpos — 文字列が最初に現れる場所を見つける

int strpos ( string $haystack , mixed $needle [, int $offset ] )
文字列 haystack の中で、 needle が最初に現れた位置を数字で返します。

via:strpos

検索した結果、目当ての文字列がなかった場合は、falseを返すみたいです。

ちょっとためしに下のプログラムで考えてみます。

$test1 = "hoge.txt";
$test2 = strpos($test1,".");

print($test2);

上の場合、4を表示してくれます。

では、次の場合、

$test1 = "hoge.txt";
$test2 = strpos($test1,":");

if($test2 == false){
print("見つかりませんでした。");
}

結果として、文字列の「見つかりませんでした。」が表示されました。

print()でfalseを表示しようとしても、何も表示されないので、条件分岐などで利用するのがいいのかなーと。

いやーそれにしても、始めに戻りますが、文字列検索系の関数多いなー。

0 コメント:

コメントを投稿