ホームページ  >  記事  >  バックエンド開発  >  SQL の LIKE 演算子と同様のパターンを使用して PHP で配列をフィルタリングするにはどうすればよいですか?

SQL の LIKE 演算子と同様のパターンを使用して PHP で配列をフィルタリングするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 20:39:02711ブラウズ

How Can I Filter an Array in PHP Using a Pattern Similar to SQL's LIKE Operator?

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

指定されたパターンに一致するユーザー入力に基づいて配列から値をフィルタリングするには、次のようにします。正規表現と組み合わせて PHP の強力な preg_grep 関数を活用できます。

次の例を考えてみましょう。$data は色を含む配列です。

<code class="php"><?php
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');</code>

ユーザーの入力に基づいて一致を見つけるには、これを $input として表すと、次のように実行できます。

<code class="php"><?php
$input = 'bl';
$input = preg_quote($input, '~'); // Escape special characters in input

$result = preg_grep('~' . $input . '~', $data);</code>

この例では、特殊文字が適切に処理されるようにするために、preg_quote を使用して入力を引用符で囲みます。次に、正規表現で preg_grep を使用し、配列要素の任意の部分で $input の一致を検索します。

結果は、次のもののみを含む配列になります。

<code class="php"><?php
array(
    'blue',
    'black',
);</code>

Byこの手法を使用すると、SQL の LIKE '%search%' に似たメソッドを提供し、ユーザー入力に基づいて配列を効率的にフィルタリングできます。 PHP 配列の演算子。

以上がSQL の LIKE 演算子と同様のパターンを使用して PHP で配列をフィルタリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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