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

Linda Hamilton
Libérer: 2024-11-01 01:28:28
original
964 Les gens l'ont consulté

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
                         )
                 )

        )

)
Copier après la connexion

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>
Copier après la connexion
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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!