PHP で SQL のような "%search%" クエリを使用して配列値をフィルタリングする
JQueryUI でオートコンプリート フィールドを構築する場合、特定のフィールドを取得するユーザー入力に基づいて配列から結果を得るのは難しい場合があります。 SQL LIKE '%search%' クエリと同様に、部分的な検索文字列に基づいて配列値を効果的にフィルター処理するには、配列操作と正規表現の微妙な違いを理解することが重要です。完全一致を使用しない場合、タスクにはカスタマイズされたアプローチが必要です。
解決策の 1 つは、preg_grep 関数を使用することです。これにより、正規表現を使用して配列をフィルタリングできるようになります。ユーザー入力を適切にエスケープし、~ 区切り文字を使用することで、検索文字列を含む任意の文字列と一致する正規表現を作成できます。例:
<code class="php">$input = preg_quote('bl', '~'); // escape the input string $data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black'); $result = preg_grep('~' . $input . '~', $data);</code>
結果の $result 配列には、値のどこかにシーケンス 'bl' を含む $data のすべての要素が含まれ、SQL LIKE '%search%' クエリの動作を効果的に複製します。 。配列操作技術と正規表現を注意深く組み合わせることで、柔軟かつ効率的な方法で配列値をフィルタリングし、オートコンプリート機能のユーザー エクスペリエンスと精度を向上させることができます。
以上がPHP で SQL のような「%search%」クエリを使用して配列値をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。