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我的印象是字符串中的第一个数字总是代表最高级别。到目前为止,我除了敲打我的头之外,没有尝试过任何事情。请注意,谢谢!