Home >Backend Development >PHP Problem >How to do fuzzy query on array in PHP
In PHP, array is one of the commonly used data structures. Sometimes, we need to perform fuzzy queries on arrays to find specific data. This article will introduce how to perform fuzzy queries on arrays in PHP.
Fuzzy query is a way of querying data in a database or other data storage system. By using wildcards and special characters, you can match data that contains specific patterns.
In PHP, we can use some functions to perform fuzzy query on arrays. Here are some commonly used functions:
array_filter: This function filters the values in an array and returns a new array. You can use a callback function to define which values to filter.
Sample code:
$arr = array('apple', 'banana', 'cherry', 'date'); $result = array_filter($arr, function($value) { return strpos($value, 'a') !== false; }); print_r($result); // 输出array('apple', 'banana');
In the above code, the array_filter function is used to filter the values containing the letter 'a' in the array. The strpos function in the callback function is used to determine whether a string contains another string.
preg_grep: This function performs a regular expression match on the values in an array and returns a new array containing all matches.
Sample code:
$arr = array('001', '002', '003', '011', '012', '013'); $result = preg_grep("/01[1-3]/", $arr); print_r($result); // 输出array('011', '012', '013');
In the above code, the preg_grep function is used to match the values in the array that start with '01' and end with '1', '2' or '3'.
array_walk_recursive: This function can traverse all elements in a multi-dimensional array, and a callback function can be used to process each element.
Sample code:
$arr = array( 'fruit' => array('apple', 'banana', 'cherry'), 'color' => array('red', 'yellow', 'green') ); $result = array(); array_walk_recursive($arr, function ($value, $key) use (&$result) { if (strpos($value, 'a') !== false) { $result[] = $value; } }); print_r($result); // 输出array('apple', 'banana');
In the above code, the array_walk_recursive function is used to traverse an array containing a multi-dimensional array. The strpos function in the callback function is used to determine whether a string contains another string.
In PHP, we can use some functions to perform fuzzy queries on arrays. These functions help us find specific patterns in data. In actual development, it is necessary to select the appropriate function to perform fuzzy query according to specific needs.
The above is the detailed content of How to do fuzzy query on array in PHP. For more information, please follow other related articles on the PHP Chinese website!