Maison >développement back-end >tutoriel php >Comment puis-je rechercher efficacement une valeur dans un tableau PHP multidimensionnel ?

Comment puis-je rechercher efficacement une valeur dans un tableau PHP multidimensionnel ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 14:54:11193parcourir

How Can I Efficiently Search for a Value in a Multidimensional PHP Array?

Recherche de tableau multidimensionnel PHP par valeur pour une efficacité accrue

La recherche d'une valeur particulière dans un tableau PHP multidimensionnel peut être une tâche fastidieuse , surtout avec de grands tableaux. Cet article présente une solution efficace à ce défi.

Recherche par ID utilisateur (uid) dans une base de données utilisateur

Considérez le tableau de base de données utilisateur 2D suivant :

$userdb = [
    [
        'uid' => '100',
        'name' => 'Sandra Shush',
        'pic_square' => 'urlof100'
    ],
    [
        'uid' => '5465',
        'name' => 'Stefanie Mcmohn',
        'pic_square' => 'urlof100'
    ],
    [
        'uid' => '40489',
        'name' => 'Michael',
        'pic_square' => 'urlof40489'
    ]
];

Le but est de rechercher un uid spécifique et de renvoyer sa clé de tableau correspondante. Par exemple, search_by_uid(100) devrait renvoyer 0.

Recherche efficace à l'aide d'une fonction personnalisée

La fonction personnalisée suivante permet une recherche plus rapide que l'utilisation boucles :

function searchForId($id, $array) {
    foreach ($array as $key => $val) {
        if ($val['uid'] === $id) {
            return $key;
        }
    }
    return null;
}

Utilisation :

$id = searchForId('100', $userdb);

One-Liner pour PHP >= 5.5.0

En PHP >= 5.5.0, vous pouvez utiliser une seule ligne pour rechercher un tableau column :

$key = array_search('100', array_column($userdb, 'uid'));

Conclusion

Ces méthodes de recherche améliorent considérablement l'efficacité de la recherche de valeurs dans des tableaux PHP multidimensionnels, offrant un temps d'exécution plus rapide par rapport aux méthodes de bouclage manuel.

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