Home Backend Development PHP Problem How to fuzzy query array values ​​in php

How to fuzzy query array values ​​in php

Apr 12, 2023 pm 01:55 PM

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; 
    }); 
}
Copy after login

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; 
}
Copy after login

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); 
}
Copy after login

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 . ' '; 
}
Copy after login

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!

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)