php – 具有Array数组结构的字符串

前端之家收集整理的这篇文章主要介绍了php – 具有Array数组结构的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有字符串:
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;

See it in action.

¹实际上它稍微多于它:它可以简单地封装在一个函数中,并且可以在所有三个输入值上进行配置(您可以传入一个包含现有值的数组,并根据需要展开它).

原文链接:https://www.f2er.com/php/135386.html

猜你在找的PHP相关文章