Maison  >  Article  >  développement back-end  >  Comment extraire les valeurs d'un tableau à l'aide de chemins d'index de chaîne en PHP ?

Comment extraire les valeurs d'un tableau à l'aide de chemins d'index de chaîne en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 01:28:28966parcourir

How to Extract Array Values Using String Index Paths in PHP?

Récupération des valeurs d'un tableau à l'aide d'un chemin d'index de chaîne

Dans les situations où les tableaux ont des chemins d'index complexes, il peut être fastidieux de les parcourir manuellement . Cet article présente une solution pour extraire efficacement des valeurs à l'aide d'une chaîne qui agit comme un chemin d'index, sans recourir à eval().

Énoncé du problème

Supposons que vous ayez un structure de tableau comme :

Array
(
    [0] => Array
        (
            [Data] => Array
                (
                    [id] => 1
                    [title] => Manager
                    [name] => John Smith
                )
         )
    [1] => Array
        (
            [Data] => Array
                 (
                     [id] => 1
                     [title] => Clerk
                     [name] =>
                         (
                             [first] => Jane
                             [last] => Smith
                         )
                 )

        )

)

Vous avez besoin d'une fonction qui prend un chemin d'index de chaîne comme argument et renvoie la valeur du tableau correspondante. Par exemple, le chemin d'index "0['name']" renverrait "Manager", tandis que "1'name'" renverrait "Jane".

Solution

Pour y parvenir, le problème peut être décomposé en deux parties :

  1. Partager l'index Chemin :
    À l'aide de la fonction éclater(), le chemin de l'index de chaîne peut être divisé en un tableau de clés d'index, par exemple, ["[0]", "'Data'", "'name'"] .
  2. Navigation itérative dans le tableau :
    En commençant par l'élément racine du tableau, une boucle foreach peut être utilisée pour itérativement parcourez chaque niveau du tableau à l'aide des clés du chemin d'index divisé.

Conclusion

<code class="php">function getArrayValue($indexPath, $arrayToAccess)
{
    $paths = explode(":", $indexPath); // Split index path
    $items = $arrayToAccess; // Start with root element

    foreach ($paths as $index)
    {
        $items = $items[$index]; // Move to next level of array
    }
    
    return $items; // Return the final value
}</code>
Cette solution offre un moyen efficace pour récupérer les valeurs du tableau à l'aide d'un chemin d'index de chaîne. Cela fonctionne en décomposant le chemin en un tableau de clés et en parcourant le tableau de manière itérative à l'aide de ces clés. Cette approche permet de gérer efficacement des chemins d'index dynamiques de différentes longueurs.

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