ホームページ >バックエンド開発 >PHPチュートリアル >strposa は、PHP での複数の文字列検索における strpos のより効率的な代替手段ですか?
実用的な Strpos と配列ベースのニードル検索
文字列内の複数の文字列を検索する場合、組み込みの PHP 関数 strpos は機能しない場合があります。十分です。これに対処するために、php.net のスニペットでは、指定された文字列内の指定された配列から最初に出現する文字列を効率的に検索するカスタム関数 strposa を提案しています。
strposa の実装
function strposa(string $haystack, array $needles, int $offset = 0): bool { foreach($needles as $needle) { if(strpos($haystack, $needle, $offset) !== false) { return true; // stop on first true result } } return false; }
の使用法例
文字列を考えます:
$string = 'Whis string contains word "cheese" and "tea".';
文字列の配列:
$array = ['burger', 'melon', 'cheese', 'milk'];
strposa の使用:
if (strposa($string, $array, 1)) { echo 'true'; } else { echo 'false'; }
文字列には配列からの針が含まれているため、これは true を出力します。 "cheese".
strposa の改善
strposa の更新バージョンは、最初の針一致時に検索を終了することでパフォーマンスを最適化します。これにより、干し草の山から複数の針を探すときの効率が向上します。
以上がstrposa は、PHP での複数の文字列検索における strpos のより効率的な代替手段ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。