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
DDDoriginal
2024-12-26 20:11:10645parcourir

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;
}

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

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