为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

炎炎设计 2019-11-04 10:35:38
我有字符串: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;

看到它在行动。


¹实际上,它的作用还不止于此:它可以简单地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以将一个具有现有值的数组传递给它,并在必要时对其进行扩展)。


查看完整回答
反对 回复 2019-11-04
  • 2 回答
  • 0 关注
  • 489 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信