Maison  >  Article  >  développement back-end  >  Comment convertir une chaîne délimitée par des points en un tableau imbriqué ?

Comment convertir une chaîne délimitée par des points en un tableau imbriqué ?

DDD
DDDoriginal
2024-10-31 03:36:01632parcourir

How to Convert a Dot-Delimited String to a Nested Array?

Conversion d'une chaîne délimitée par des points en un tableau imbriqué

Étant donné une chaîne représentant une structure de tableau imbriqué, telle que "Main.Sub. SubOfSub", et une valeur correspondante comme "SuperData", le but est de transformer ces données en un véritable tableau imbriqué.

Pour réaliser cette conversion, voici une solution détaillée :

$key = "Main.Sub.SubOfSub";
$target = array();
$value = "SuperData";

$path = explode('.', $key); // Split the string into an array of keys
$root = &$target; // Reference to the main array

while (count($path) > 1) { // Iterate through the path array
    $branch = array_shift($path); // Get the current branch
    if (!isset($root[$branch])) {
        $root[$branch] = array(); // Create the branch if it doesn't exist
    }
    $root = &$root[$branch]; // Update the reference to the current branch
}

$root[$path[0]] = $value; // Set the value at the end of the path

Ce code crée effectivement un tableau imbriqué basé sur le chemin spécifié dans la chaîne. La variable $root sert de référence au niveau imbriqué actuel dans le tableau, garantissant que les valeurs sont attribuées à la bonne branche lorsque nous parcourons le chemin.

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