将点分隔字符串转换为嵌套数组
给定一个表示嵌套数组结构的字符串,例如“Main.Sub. SubOfSub”,以及相应的值,如“SuperData”,目标是将这些数据转换为实际的嵌套数组。
要实现此转换,这里有一个详细的解决方案:
$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
此代码根据字符串中指定的路径有效地创建一个嵌套数组。变量 $root 作为数组中当前嵌套级别的引用,确保在我们遍历路径时将值分配给正确的分支。
以上是如何将点分隔字符串转换为嵌套数组?的详细内容。更多信息请关注PHP中文网其他相关文章!