ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して SQL LIKE \'%search%\' のように配列値をフィルタリングする方法

PHP を使用して SQL LIKE \'%search%\' のように配列値をフィルタリングする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 04:32:29770ブラウズ

How to Filter Array Values Like SQL LIKE '%search%' Using PHP?

PHP を使用した SQL LIKE '%search%' のような配列値のフィルタリング

JQueryUI を使用してオートコンプリート機能を実装するには、ユーザー入力に基づく配列は必須です。配列 ["orange"、"blue"、"green"、"red"、"pink"、"brown"、"black"] を考えてみましょう。ユーザーが「bl」と入力した場合、["blue", "black"] だけを表示したいとします。

カスタム関数で array_filter を使用する代わりに、より効率的な解決策は、preg_grep 関数を使用することです。正規表現を使用したフィルタリングが可能です。

例:

<code class="php">$input = preg_quote('bl', '~'); // Protect against regex special characters
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);

print_r($result); // Output: Array ( [0] => blue [1] => black )</code>

説明:

  • preg_quote(' bl'、'~') は、入力文字列内の特殊文字をエスケープし、正規表現内で文字どおりに扱われるようにします。
  • 正規表現 ~ 。 $input 。 ~ は、値内の任意の場所に入力文字列 "bl" を含む配列内の要素を検索します。
  • preg_grep は、この正規表現フィルターを $data 配列に適用し、条件を満たす一致のみを含む配列を返します。

以上がPHP を使用して SQL LIKE \'%search%\' のように配列値をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。