在php中从多维数组创建嵌套的父子数组
我有这个数组在php中从多维数组创建嵌套的父子数组,php,arrays,algorithm,multidimensional-array,Php,Arrays,Algorithm,Multidimensional Array,我有这个数组 $array = Array ( [a] => Array ( [0] => b [1] => h ) [b] => c [c] => d [h] => m ) 我需要将数组转换为如下所示 Array ( [a] => Array
$array = Array
(
[a] => Array
(
[0] => b
[1] => h
)
[b] => c
[c] => d
[h] => m
)
我需要将数组转换为如下所示
Array
(
[a] => Array
(
[b] => Array
(
[c] => Array
(
[d] => Array
(
)
)
)
[h] => Array
(
[m] => Array
(
)
)
)
)
我已经问过一维数组的这个问题了
我尝试了[并得到了下面的数组
Array
(
[a] => Array
(
[b] => Array
(
[a] => Array
(
[h] => Array
(
[b] => Array
(
[c] => Array
(
[d] => Array
(
)
[h] => Array
(
[m] => Array
(
)
)
)
)
)
)
)
)
)
如何检查多维数组中是否存在密钥,如果存在,将子项添加到现有密钥中。帮助解决此问题。提前感谢我明白了,PHP是一种很棒的语言。您有一些代码可以向我们展示吗?@AdrianCidAlmaguer我分享了代码的stockoverflow链接如果我理解正确,请您先看是否希望第一级的所有键作为第一个条目的子元素,然后每个子数组的最后一个元素作为最后一个元素的子元素?
<?php
$array = array(
'a' => array(0=>'b',1=>'h'),
'b' => 'c',
'c' => 'd',
'h' => 'm',
);
$newArray = array();
$secondarray = array();
$part = &$newArray;
$i=1;
foreach($array as $first => $second)
{
if($i==1)
{
$firstone=$first;
}
else
{
if($i==count($array))
{
$newArray[$first] = array($second => array());
$secondarray[$firstone]=$newArray;
}
else
{
$part = &$part[$first];
$part[$second] = array();
}
}
$i++;
}
echo '<pre>';print_r($secondarray);
Array
(
[a] => Array
(
[b] => Array
(
[c] => Array
(
[d] => Array
(
)
)
)
[h] => Array
(
[m] => Array
(
)
)
)
)