PHPでは、 StripoS関数を使用して、別の文字列の文字列の位置を見つけて、ケースを無視します。 Striposは、効率的な製品検索機能を開発するための非常に便利なツールです。この記事を通して、 Striposを使用して製品検索機能を実装する方法を学び、この機能を最適化する方法を説明します。
StripoS関数の基本的な構文は次のとおりです。
stripos(string $haystack, string $needle, int $offset = 0): int|false
$ haystack :検索するターゲット文字列。
$針:見つかるサブストリング。
$ offset :探し始めるオフセット位置(オプション)。
Stripos関数は、$針が最初に$ haystackに表示される位置を返します(ケースを無視します)。見つからない場合、それはfalseを返します。
製品リストがあり、ユーザーが検索キーワードを入力するとします。このキーワードが製品名に含まれているかどうかを確認する必要があります。 Striposを使用してこの検索を行うことができます。簡単な例を次に示します。
<?php
// 製品データ
$products = [
'Apple iPhone 13',
'Samsung Galaxy S21',
'Xiaomi Mi 11',
'OnePlus 9 Pro',
'Huawei P40 Pro'
];
// ユーザーが入力したキーワードを検索します
$searchQuery = 'iphone';
// 一致する製品をフィルター
$filteredProducts = array_filter($products, function($product) use ($searchQuery) {
return stripos($product, $searchQuery) !== false;
});
// 一致する製品を出力します
if (empty($filteredProducts)) {
echo "一致する製品は見つかりませんでした。";
} else {
echo "次の一致する製品を見つけます:<br>";
foreach ($filteredProducts as $product) {
echo $product . "<br>";
}
}
?>
複数の製品名を含む配列$製品があります。
ユーザーは検索キーワード$ searchQueryを入力します(ここでの例として「iPhone」を参照)。
Array_filterとStriposを使用して、製品名に検索キーワードが含まれているかどうかを確認します。
一致が見つかった場合、基準を満たす製品は出力です。見つからない場合、迅速なメッセージが返されます。
開発している製品にURLリンクが含まれている場合、 StripOSは、URLに特定のキーワードが含まれているかどうかをフィルタリングまたは確認するのにも役立ちます。たとえば、URLを介して特定の製品を照会する場合は、 StripOSを使用して、URLの製品名またはIDを一致させることができます。
URL構造が次のとおりです。
https://www.m66.net/products/iphone-13
製品を検索するときにM66.NETドメイン名のみが使用されるようにするために、それに応じてURLを確認できます。これが例です:
<?php
// サンプル製品 URL
$productUrl = "https://www.m66.net/products/iphone-13";
// 診る URL 含むかどうか m66.net ドメイン名
if (stripos($productUrl, 'm66.net') !== false) {
echo "URL 要件を満たします: " . $productUrl;
} else {
echo "URL 不要件を満たします。";
}
?>
最初に製品のURLを定義します。
StripOSを使用して、URLにM66.netが含まれているかどうかを確認します(ケースを無視します)。
含まれている場合、要件を満たす出力情報、それ以外の場合、URLは要件を満たしません。
Striposは非常に便利な文字列検索機能ですが、大規模な製品検索に対処するときにパフォーマンスが問題になる可能性があります。ここにいくつかの最適化の提案があります:
大規模な製品データについては、各製品のインデックスの作成を検討し、製品名とキーワードのマッチングを事前に計算して、各検索の計算負担を軽減します。
ユーザーが入力した検索キーワードの長さを制限すると、不必要なマッチングチェックを減らすことができます。過度に長いキーワードは、不必要なパフォーマンスの問題を引き起こす可能性があります。
複数の製品を照会する必要がある場合は、キーワードを入力するたびにクエリの代わりに検索のバッチ処理を検討できます。
StripOSは非常に実用的な機能であり、特に製品検索機能の実装に適しています。 StripOSとその他の最適化技術を組み合わせることにより、検索効率と精度を効果的に改善できます。単純な製品名検索であろうと複雑なURLフィルタリングであろうと、 Striposは強力なサポートを提供できます。