Home > Backend Development > PHP Tutorial > How Can I Filter an Array in PHP Using a Pattern Similar to SQL\'s LIKE Operator?

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

Susan Sarandon
Release: 2024-11-03 20:39:02
Original
811 people have browsed it

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

Filtering Values from an Array Using SQL LIKE '%search%' in PHP

To filter values from an array based on user input that matches a specified pattern, you can leverage PHP's powerful preg_grep function in conjunction with regular expressions.

Consider the following example, where $data is an array containing colors:

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

To find matches based on the user's input, which we'll represent as $input, you can perform the following:

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

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

In this example, we quote the input using preg_quote to ensure special characters are properly handled. Then, we use preg_grep with a regular expression that looks for matches of $input in any part of the array elements.

The result is an array containing only the following:

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

By using this technique, you can efficiently filter arrays based on user input, providing a method similar to SQL's LIKE '%search%' operator for PHP arrays.

The above is the detailed content of How Can I Filter an Array in PHP Using a Pattern Similar to SQL\'s LIKE Operator?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template