IT技術サポート総合サイト
 
 言語:  VC++/MFC   PHP/Perl   VB/VBA   ASP/ASP.net   HTML/CSS   基本知識:  Windows   Linux   ネットワーク   MySQL   レンタルサーバ   SEO対策
キーワード: RSS2.0配信
 
 
コラム集:PHP関数Tips
←前コラム    目次    次コラム→    
 
文字列が最初に現れる場所を見つける-strpos関数
分類:PHP/Perl     著者:野村健     更新日付:2009/01/20
 
 
文字列の位置を取得するには、strpos()関数を使います。

構文
strpos( 文字列, 検索文字 [, 開始位置])

説明
文字列の中で、 検索文字が最初に現れた位置を数字で返します。 PHP 5 以前の strrpos() とは異なり、この関数は検索文字パラメータとして文字列全体をとり、その文字列全体が検索対象となります。
検索文字が見つからない場合、strpos() は boolean FALSE を返します。

補足
この関数は論理値FALSEを返す可能性がありますが、FALSEとして評価される 0 や "" といった値を返す可能性もありますので、この関数の返り値を調べるには ===演算子を使用してください。


<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// === を使用していることに注目しましょう。
//単純に == を使ったのでは期待通りに動作しません。
//なぜなら 'a' が 0 番目 (最初) の文字だからです。
if ($pos === false) {
    echo "文字列 '$findme' は、文字列 '$mystring' の中で見つかりませんでした";
} else {
    echo "文字列 '$findme' が文字列 '$mystring' の中で見つかりました";
    echo " 見つかった位置は $pos です";
}

// オフセット以前の内容を無視して文字を探すこともできます。
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos は 0 ではなく 7 となります。
?>
 
 
←前コラム    目次    次コラム→