PHP:从字符串集递归增强数组

PHP:从字符串集递归增强数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个数组,需要根据几个字符串的值动态增强 $paths = array( '1/4/6', '1/2/4/12/4' ); // desired result $target = array( 1 => array( 2 => array( 4 => array( 12 => array( 4 => 'somevalue'

我有一个数组,需要根据几个字符串的值动态增强

$paths = array(
    '1/4/6',
    '1/2/4/12/4'
);

// desired result
$target = array(
    1 => array(
        2 => array(
            4 => array(
                12 => array(
                    4 => 'somevalue'
                )
            )
        ),
        4 => array(
            6 => 'somevalue'
        )
    )
);
问题是:我如何从$path到$target

谢谢你

打开/打开一条路径,说“1/4/6”。现在,你有1,4和6。 继续以迭代方式将它们分配给上一个父密钥。在下面的代码中,我使用&编辑了孩子的相同地址位置

<?php

$paths = array(
    '1/4/6',
    '1/2/4/12/4'
);

$target = array();

foreach($paths as $path){
    $temp = &$target;
    foreach(explode("/",$path) as  $key){
        if(!isset($temp[$key])) $temp[$key] = array();
        $temp = &$temp[$key];
    }

    $temp = 'some value';
}


print_r($target);

演示:

到目前为止,您尝试了什么?请向我们展示您的努力,不要只是要求社区为您解决整个任务。使用explode非常简单,但您应该从您身边尝试一次。如果下一部分从2/4开始。。。或者4/12…?@mitkosoft我的印象是字符串中的第一个数字总是代表最高级别。到目前为止,我除了敲打我的头之外,没有尝试过任何事情。请注意,谢谢!