我有字符串:Main.Sub.SubOfSub某种数据可能是字符串:SuperData我如何将其全部转换为上述数组?Array([Main] => Array ( [Sub] => Array ( [SubOfSub] => SuperData ) ))谢谢帮忙,PK
2 回答
Qyouu
TA贡献1786条经验 获得超11个赞
给定值
$key = "Main.Sub.SubOfSub";
$target = array();
$value = "SuperData";
这里有一些我可以满足您需要的代码¹:
$path = explode('.', $key);
$root = &$target;
while(count($path) > 1) {
$branch = array_shift($path);
if (!isset($root[$branch])) {
$root[$branch] = array();
}
$root = &$root[$branch];
}
$root[$path[0]] = $value;
看到它在行动。
¹实际上,它的作用还不止于此:它可以简单地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以将一个具有现有值的数组传递给它,并在必要时对其进行扩展)。
添加回答
举报
0/150
提交
取消