In PHP development, sometimes we want to perform fuzzy queries on arrays to match data that contains a certain keyword in the array. So how to achieve it? Here are some common methods.
1. Use the array_filter function
function searchArray($array, $keyword){ return array_filter($array, function($value) use ($keyword){ return stripos($value, $keyword) !== false; }); }
The above code uses the array_filter function to filter, and uses an anonymous function to achieve string matching for each array element.
2. Implementation through foreach loop
function searchArray($array, $keyword){ $result = array(); foreach ($array as $value) { if (stripos($value, $keyword) !== false) { $result[] = $value; } } return $result; }
The above code implements string matching of array elements through looping, and if there is a match, it is put into the result array.
3. Use the preg_grep function
function searchArray($array, $keyword){ return preg_grep('/' . preg_quote($keyword, '/') . '/i', $array); }
The above code uses the preg_grep function for matching. First, use the preg_quote function to escape the keywords, match them in the regular expression, and finally return the result array.
The above three methods are all suitable for fuzzy query on arrays, and we can choose one of them according to actual needs. At the same time, you need to pay attention to whether the query results correspond to the array key values, which may require additional processing.
$array = array(0 => 'PHP', 1 => 'JavaScript', 2 => 'Java', 3 => 'C#', 4 => 'Python'); $keyword = 'p'; $result = searchArray($array, $keyword); foreach ($result as $value) { echo $value . ' '; }
The above is a sample code, and the results of searching for the matching keyword 'p' are 'PHP', 'Python'.
Summary
Array fuzzy query is a very common operation in PHP, which is mainly implemented by relying on some common functions such as array_filter, preg_grep, etc. Of course, this can also be achieved using a foreach loop. It should be noted that depending on the actual scenario, additional judgment and processing may be required in the code. Hope this article is helpful to readers.
The above is the detailed content of How to fuzzy query array values in php. For more information, please follow other related articles on the PHP Chinese website!