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

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-02 02:36:09133parcourir

How Can I Filter a Multidimensional Array Using Partial String Matching in PHP?

Filtrage des tableaux multidimensionnels en fonction d'une correspondance partielle de la valeur de recherche

Dans certains scénarios, il devient nécessaire de filtrer les données stockées dans des tableaux multidimensionnels en fonction de une correspondance partielle d'une valeur de recherche spécifiée.

Supposons que nous ayons un tableau structuré comme suit :

$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'
    ]
];

Supposons que nous souhaitions rechercher une aiguille spécifique, telle que "Pain". Pour filtrer le tableau et récupérer les éléments qui contiennent la correspondance partielle, nous pouvons utiliser la fonction array_filter.

$search_text = 'Bread';

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

La fonction array_filter accepte deux paramètres : le tableau d'entrée et une fonction de rappel. La fonction de rappel est chargée d'évaluer si chaque élément doit être conservé ou supprimé du tableau. Dans notre cas, la fonction de rappel vérifie si le champ 'texte' de l'élément contient le terme de recherche spécifié. Si tel est le cas, il renvoie true, indiquant que l'élément doit être conservé.

Lors de l'exécution, le filtered_array contiendra les éléments suivants :

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

Cette approche filtre efficacement le tableau multidimensionnel, renvoyant uniquement les éléments qui satisfont à la condition de correspondance partielle.

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