Maison >développement back-end >tutoriel php >Comment filtrer efficacement un tableau multidimensionnel à l'aide de la correspondance partielle de chaînes en PHP ?

Comment filtrer efficacement un tableau multidimensionnel à l'aide de la correspondance partielle de chaînes en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 19:09:14688parcourir

How to Efficiently Filter a Multidimensional Array Using Partial String Matching in PHP?

Filtrer un tableau multidimensionnel basé sur une correspondance partielle de la valeur de recherche

Le filtrage de tableaux multidimensionnels peut souvent poser des problèmes, en particulier lors de la recherche de correspondances partielles. Cet article présente une méthode pour filtrer efficacement un tableau à l'aide de array_filter pour rechercher des éléments dont le texte correspond partiellement à une valeur de recherche donnée.

Considérons l'exemple suivant :

$array = [
    [
        'text' => 'I like Apples',
        'id' => '102923'
    ],
    [
        'text' => 'I like Apples and Bread',
        'id' => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id' => '3384823'
    ],
    [
        'text' => 'I like Green Eggs and Ham',
        'id' => '4473873'
    ]
];

Filtrons ce tableau pour l'aiguille "Pain" :

$search_text = 'Bread';

$filtered_array = array_filter($array, function($el) use ($search_text) {
    return (strpos($el['text'], $search_text) !== false);
});

Le résultat sera le suivant :

[
    [
        'text' => 'I like Apples and Bread',
        'id' => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id' => '3384823'
    ]
];

Ce La solution utilise array_filter pour transmettre une fonction de rappel qui vérifie la valeur texte de chaque élément pour une correspondance partielle de $search_text à l'aide de strpos.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn