strpos( string $haystack, mixed $needle[, int $offset] )

strpos( string $haystack, mixed $needle[, int $offset] )は、検索対象文字列の中から、検索文字列を探し、その検索文字列が最初に見付かった位置を得る組み込み関数。

検索文字列が見付からなかった場合、「FALSE」を返す。

striposと似ているが、strposは、大文字小文字を区別する。

定義

整数型 strpos( 文字列型 $haystack, 多様な型 $needle[, 整数型 $offset] );

「文字列型 $haystack」の文字列の中から、「多様な型 $needle」の文字列を探し、その文字列が最初に見付かった位置を得る。

パラメータ

文字列型 $haystack

検索対象文字列を指定する。

多様な型 $needle

検索したい文字列を指定する。

大文字小文字を区別する。

整数型 $offset

オプション。

検索文字列「多様な型 $needle」を探し始める位置。オフセット。

戻り値

「文字列型 $haystack」の検索対象文字列の中から、「多様な型 $needle」の検索文字列を探し、その検索文字列が最初に見付かった位置を返す。

見付からなかった場合は、「FALSE」を返す。

構文

検索対象文字列から検索文字列の位置を得る

見付かった位置 = strpos( 検索対象文字列, 検索文字列 );

「検索対象文字列」から「検索文字列」を探し、その検索文字列が最初に見付かった位置を得る。

検索対象文字列から検索文字列の位置を得る(オフセットを指定)

見付かった位置 = strpos( 検索対象文字列, 検索文字列, オフセット );

「検索対象文字列」の「オフセット」の位置以降から「検索文字列」を探し、その検索文字列が最初に見付かった位置を得る。

サンプル

検索対象文字列に、検索文字列があるかどうかを調べる

結果の比較に、型も含めて比較する等価演算子===」を使っている点に注目。

<?php

$varStrA = "abcde";

$varStrB = "c";
$varPos = strpos( $varStrA, $varStrB );
if ( $varPos === false) {
    echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
    echo "<p>「{$varStrB}」は、含まれる。</p>";
    echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";

$varStrB = "a";
$varPos = strpos( $varStrA, $varStrB );
if ( $varPos === false) {
    echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
    echo "<p>「{$varStrB}」は、含まれる。</p>";
    echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";

$varStrB = "bc";
$varPos = strpos( $varStrA, $varStrB );
if ( $varPos === false) {
    echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
    echo "<p>「{$varStrB}」は、含まれる。</p>";
    echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";

$varStrB = "cb";
$varPos = strpos( $varStrA, $varStrB );
if ( $varPos === false) {
    echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
    echo "<p>「{$varStrB}」は、含まれる。</p>";
    echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";

$varStrB = "j";
$varPos = strpos( $varStrA, $varStrB );
if ( $varPos === false) {
    echo "<p>「{$varStrB}」は、含まれない。</p>";
} else {
    echo "<p>「{$varStrB}」は、含まれる。</p>";
    echo "<p>見付かった位置は、「{$varPos}」。</p>";
}
echo "<br /><br />";

?>

↓↓↓出力結果↓↓↓

「c」は、含まれる。
見付かった位置は、「2」。

「a」は、含まれる。
見付かった位置は、「0」。

「bc」は、含まれる。
見付かった位置は、「1」。

「cb」は、含まれない。

「j」は、含まれない。

検索文字列の位置を得る

<?php

$var = "abcde";
echo strpos( $var, "c" ) . "<br />";

$var = "abcde abcde";
echo strpos( $var, "c", 5 ) . "<br />";

$var = "English is easy.";
echo strpos( $var, "e" ) . "<br />";

$var = "English is easy.";
echo strpos( $var, "E" ) . "<br />";

$var = "English is easy.";
echo strpos( $var, "easy" ) . "<br />";

$var = "English is easy.";
echo strpos( $var, "is" ) . "<br />";

?>

↓↓↓出力結果↓↓↓

2
8
11
0
11
4

スポンサード リンク

カテゴリー: PHP, 文字列, 検索, 組み込み関数 タグ: パーマリンク