PHP で文字列内で最初に出現する部分文字列を見つける方法

王林
リリース: 2024-03-19 15:00:02
転載
555 人が閲覧しました

文字列内で最初に出現する部分文字列を見つけることは、PHP の一般的な要件であり、開発プロセス中によく遭遇する問題でもあります。この機能は、PHP が提供する組み込み関数を使用して簡単に実現できます。コードを記述するときは、精度と効率を確保するために適切な関数とメソッドを使用することに注意を払う必要があります。次に、PHP エディター Baicao が、PHP で文字列内で最初に出現する部分文字列を見つける方法を詳しく紹介します。

文字列内で最初に出現した部分文字列を検索します

######導入######

php では、文字列内で最初に出現する特定の部分文字列を検索することが必要になることがよくあります。このタスクを実行するにはいくつかの方法があります。

方法 1: strpos() 関数

strpos() 関数は、文字列内で最初に出現した部分文字列を検索する最も一般的な方法です。部分文字列の開始位置 (0 は先頭を示します) を返し、見つからない場合は FALSE を返します。構文は次のとおりです: int strpos ( string $haystack , string $needle [, int $offset = 0 ] )

######例:######

$haystack = "こんにちは、世界!"; $needle = "世界"; $pos = strpos($haystack, $needle); if ($pos !== FALSE) { echo "部分文字列 "$needle" が位置 $pos で見つかりました。"; } それ以外 { echo "部分文字列「$needle」が文字列内に見つかりませんでした。"; }

ログイン後にコピー
方法 2: strstr() 関数

strstr() 関数も部分文字列を検索する一般的な方法です。最初に出現した部分文字列から始まる文字列の残りの部分を返します。見つからない場合は FALSE を返します。構文は次のとおりです:

string strstr ( string $haystack , string $needle [, bool $before_needle = FALSE ] )
ログイン後にコピー
######例:######

$haystack = "こんにちは、世界!"; $needle = "世界"; $result = strstr($haystack, $needle); if ($result !== FALSE) { echo "部分文字列「$needle」が文字列 $result で見つかりました。"; } それ以外 { echo "部分文字列「$needle」が文字列内に見つかりませんでした。"; }

方法 3: preg_match() 関数

preg_match() 関数を 
ログイン後にコピー
正規表現

とともに使用すると、部分文字列を検索できます。正規表現は、文字列内で検索するパターンを定義できるパターン マッチング言語です。構文は次のとおりです: int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

######例:######
$haystack = "こんにちは、世界!";
$needle = "世界";
$パターン = "/$針/";

if (preg_match($pattern, $haystack, $matches)) {
echo "部分文字列 "$needle" が位置 {$matches[0]} で見つかりました。";
} それ以外 {
echo "部分文字列「$needle」が文字列内に見つかりませんでした。";
}
ログイン後にコピー

追加のヒント

部分文字列の長さがわかっている場合は、substr() 関数を使用して文字列から部分文字列を抽出できます。

同じ部分文字列を複数回検索する場合は、最初の検索後にその位置を保存し、それを以降の検索に使用する方が効率的である可能性があります。
ログイン後にコピー
これらのメソッドでは大文字と小文字が区別されます。大文字と小文字を区別しない検索が必要な場合は、strtoupper() 関数または strto lower() 関数を使用して文字列を大文字または小文字に変換できます。

以上がPHP で文字列内で最初に出現する部分文字列を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート