「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > strposX を使用して PHP で文字列の 2 番目以降の出現を見つける方法は?

strposX を使用して PHP で文字列の 2 番目以降の出現を見つける方法は?

2024 年 11 月 1 日に公開
ブラウズ:119

How to Find the Second or Subsequent Occurrence of a String in PHP Using strposX?

strpos を使用した文字列の 2 番目の出現箇所の検索

PHP の strpos 関数は、最初の出現箇所の位置を見つけるのに便利なツールです。より大きな文字列内の部分文字列の。ただし、2 番目以降の出現箇所を見つける必要がある場合があります。

2 番目の出現箇所を見つける方法の 1 つは、ループまたは再帰を使用して文字列を反復処理し、部分文字列が出現した回数をカウントすることです。が表示されます。ただし、大きな文字列の場合、これは非効率的で時間がかかる可能性があります。

より効率的な解決策は、この目的のために特別に設計されたカスタム関数である strposX 関数を利用することです。この関数は 3 つのパラメータを取ります: 干し草の山 (検索している文字列)、針 (検索している部分文字列)、および数値 (関心のある出現箇所)​​。 strposX 関数は、それ自体を再帰的に呼び出して、指定された出現箇所を検索します。数値が 1 の場合、strpos と同様に動作し、最初に出現した位置を返します。数値が 1 より大きい場合、以前に出現した位置に針の長さを追加して検索を続行します。

これは strposX 関数の簡略化されたバージョンです:

function strposX( $haystack、$needle、$number = 0) { return strpos($haystack, $needle, $number > 1 ? strposX($haystack, $needle, $number - 1) strlen($needle) : 0 ); }

function strposX($haystack, $needle, $number = 0) {
  return strpos($haystack, $needle,
    $number > 1 ?
    strposX($haystack, $needle, $number - 1)   strlen($needle) : 0
  );
}
リリースステートメント この記事は次の場所に転載されています: 1729233916 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3