Maison >développement back-end >tutoriel php >Comment une chaîne avec une structure de tableau peut-elle être transformée en un véritable tableau ?

Comment une chaîne avec une structure de tableau peut-elle être transformée en un véritable tableau ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-30 05:32:28915parcourir

How Can a String with an Array Structure Be Transformed into an Actual Array?

Conversion d'une chaîne avec une structure de tableau en un tableau

La transformation d'une chaîne avec une structure de tableau comme "Main.Sub.SubOfSub" en un tableau réel peut être réalisée en utilisant code approprié. Supposons que vous ayez cette valeur de chaîne :

Main.Sub.SubOfSub

Et un élément de données correspondant :

SuperData

Le but est de construire un tableau avec la structure suivante :

Array
(
[Main] => Array
    (
        [Sub] => Array
            (
                [SubOfSub] => SuperData
            )

    )
)

Pour effectuer cette conversion, considérez l'extrait de code suivant :

<code class="php">$path = explode('.', $key);
$root = &amp;$target;

while (count($path) > 1) {
    $branch = array_shift($path);
    if (!isset($root[$branch])) {
        $root[$branch] = array();
    }

    $root = &amp;$root[$branch];
}

$root[$path[0]] = $value;</code>

Ce code implémente essentiellement la logique de création d'une structure de tableau associatif basée sur le chemin de chaîne fourni. Il parcourt les segments du chemin, créant des tableaux imbriqués si nécessaire et attribuant les données fournies au segment final du chemin.

En utilisant l'opérateur de référence (&), le code modifie directement le tableau cible d'origine, s'assurer que le tableau résultant a la structure souhaitée.

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