Maison > développement back-end > tutoriel php > Comment puis-je rechercher efficacement des tableaux multidimensionnels en PHP ?

Comment puis-je rechercher efficacement des tableaux multidimensionnels en PHP ?

DDD
Libérer: 2024-12-26 20:11:10
original
674 Les gens l'ont consulté

How Can I Efficiently Search Multidimensional Arrays in PHP?

Recherche de tableaux multidimensionnels avec in_array()

Bien que la fonction in_array() soit un outil pratique pour vérifier l'existence d'une valeur dans un tableau, il est insuffisant lorsqu’il s’agit de tableaux possédant une structure multidimensionnelle. Pour surmonter cette limitation, considérez ce qui suit :

Fonction récursive personnalisée

Au lieu de compter sur in_array(), vous pouvez utiliser une fonction récursive comme in_array_r :

function in_array_r($needle, $haystack, $strict = false) {
    foreach ($haystack as $item) {
        if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
            return true;
        }
    }

    return false;
}
Copier après la connexion

Utilisation :

Pour utiliser le in_array_r, fournissez-lui l'aiguille (valeur que vous recherchez), la botte de foin (tableau multidimensionnel) et un paramètre strict facultatif (contrôle la comparaison d'égalité stricte). Par exemple :

$b = array(array("Mac", "NT"), array("Irix", "Linux"));
echo in_array_r("Irix", $b) ? 'found' : 'not found';
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal