具有数组结构的字符串到数组

我有字符串:


Main.Sub.SubOfSub

某种数据可能是字符串:


SuperData

我如何将其全部转换为上述数组?


Array

(

[Main] => Array

    (

        [Sub] => Array

            (

                [SubOfSub] => SuperData

            )


    )


谢谢帮忙,PK


炎炎设计
浏览 497回答 2
2回答

Qyouu

给定值$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;看到它在行动。¹实际上,它的作用还不止于此:它可以简单地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以将一个具有现有值的数组传递给它,并在必要时对其进行扩展)。
打开App,查看更多内容
随时随地看视频慕课网APP