我有字符串:
Main.Sub.SubOfSub
某种数据可能是字符串:
SuperData
我如何将其全部转换为上述数组?
Array ( [Main] => Array ( [Sub] => Array ( [SubOfSub] => SuperData ) )
)
谢谢帮忙,PK
给定值
$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;
¹实际上,它的作用还不止于此:它可以简单地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以将一个具有现有值的数组传递给它,并在必要时对其进行扩展)。