我有字符串:
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;
看到它在行动 。
¹实际上,它的作用还不止于此:它可以微不足道地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以传入具有现有值的数组,并根据需要对其进行扩展)。