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

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

Patricia Arquette
Libérer: 2024-12-21 16:52:10
original
857 Les gens l'ont consulté

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

Recherche de tableau multidimensionnel avec in_array()

La fonction in_array() excelle dans la vérification de l'existence d'une valeur dans un tableau linéaire. Cependant, sa fonctionnalité est insuffisante lorsqu’il s’agit de tableaux multidimensionnels. Cet article explore les limites de in_array() dans les scénarios multidimensionnels et présente une solution récursive.

Limitations de in_array() avec les tableaux multidimensionnels

$ a = array("Mac", "NT", "Irix", "Linux");<br>if (in_array("Irix", $a)) echo "J'ai obtenu Irix"; // Works<br>

En revanche, appliquer in_array() à un tableau multidimensionnel, comme indiqué ci-dessous, donnera des résultats inexacts :

$b = array(array("Mac", "NT"), array("Irix", "Linux"));<br>if (in_array("Irix", $b)) echo "J'ai obtenu Irix"; // Échec<br>

Solution récursive pour la recherche de tableau multidimensionnel

Pour rechercher efficacement une valeur dans un tableau multidimensionnel, une approche récursive est requis. L'extrait de code suivant définit une fonction personnalisée à cet effet :

<br>function in_array_r($needle, $haystack, $strict = false) {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">foreach ($haystack as $item) {
    if (($strict ? $item === $needle : $item == $needle) || (is_array($item) &amp;&amp; in_array_r($needle, $item, $strict))) {
        return true;
    }
}

return false;
Copier après la connexion

}

Utilisation

La fonction in_array_r() est utilisée comme suit :

$b = array(array("Mac", "NT"), array("Irix", "Linux"));<br>echo in_array_r("Irix", $b) ? 'found' : 'not found';<br>

Cette solution permet des opérations de recherche efficaces et précises de valeurs dans des tableaux multidimensionnels.

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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal