Maison > développement back-end > tutoriel php > Comment puis-je filtrer efficacement un tableau bidimensionnel en PHP par une valeur spécifique ?

Comment puis-je filtrer efficacement un tableau bidimensionnel en PHP par une valeur spécifique ?

Patricia Arquette
Libérer: 2024-11-26 02:08:11
original
367 Les gens l'ont consulté

How can I efficiently filter a two-dimensional array in PHP by a specific value?

Filtrer efficacement un tableau bidimensionnel par valeur en PHP

En programmation PHP, filtrer efficacement un tableau bidimensionnel par une valeur spécifique peut être obtenu en utilisant la fonction polyvalente array_filter en combinaison avec un rappel.

Filtrage simple par un seul Value

Pour filtrer un tableau par une valeur spécifique dans une clé, nous pouvons utiliser la syntaxe suivante :

$new = array_filter($arr, function ($var) {
    return ($var['name'] == 'CarEnquiry');
});
Copier après la connexion

Ici, $arr est le tableau d'entrée, et le rappel La fonction vérifie si la clé de nom dans chaque sous-tableau correspond à la valeur cible. Le tableau $new résultant contient uniquement les sous-tableaux dont le nom est égal à « CarEnquiry ».

Filtrage interchangeable pour plusieurs valeurs

Si la valeur cible peut varier, nous pouvons améliorer la fonction de rappel pour gérer les filtrages interchangeables :

$filterBy = 'CarEnquiry'; // or Finance etc.

$new = array_filter($arr, function ($var) use ($filterBy) {
    return ($var['name'] == $filterBy);
});
Copier après la connexion

Le mot-clé use dans la fonction de rappel nous permet d'accéder au Variable $filterBy, qui peut être modifiée pour spécifier différentes valeurs cibles, permettant un filtrage dynamique.

Exemple d'utilisation

Considérez le tableau suivant comme exemple :

$arr = [
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'NEW',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'CarEnquiry',
        'status' => 'CALL1',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Finance',
        'status' => 'CALL2',
        'appointment' => 0
    ],
    [
        'interval' => '2014-10-26',
        'leads' => 0,
        'name' => 'Partex',
        'status' => 'CALL3',
        'appointment' => 0
    ]
];
Copier après la connexion

Filtrer $arr pour inclure uniquement les entrées dont le nom est égal aux résultats « CarEnquiry » dans :

$filtered = array_filter($arr, function ($var) {
    return ($var['name'] == 'CarEnquiry');
});
Copier après la connexion

Le tableau $filtered résultant contiendra :

Array
(
    [0] => Array
        (
            [interval] => 2014-10-26
            [leads] => 0
            [name] => CarEnquiry
            [status] => NEW
            [appointment] => 0
        )

    [1] => Array
        (
            [interval] => 2014-10-26
            [leads] => 0
            [name] => CarEnquiry
            [status] => CALL1
            [appointment] => 0
        )

    )
Copier après la connexion

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!

source:php.cn
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