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
Libérer: 2024-11-29 19:09:14
original
785 Les gens l'ont consulté

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'
    ]
];
Copier après la connexion

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);
});
Copier après la connexion

Le résultat sera le suivant :

[
    [
        'text' => 'I like Apples and Bread',
        'id' => '283923'
    ],
    [
        'text' => 'I like Apples, Bread, and Cheese',
        'id' => '3384823'
    ]
];
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal