【发布时间】:2019-10-21 23:00:42
【问题描述】:
我有这个数组,
Array (
[0] => Array (
[P1] => Array (
[P2] => Array (
.
.
.
// n level
),
),
),
[1] => Array (
[P4] => Array (
[P5] => Array (
.
.
.
// n level
),
),
),
),
我想把它转换成这个数组
Array (
[0] => Array (
'id' => 0
[P1] => Array (
'id' => 'P1',
[P2] => Array (
'id' => 'P2'
.
.
.
// n level
),
),
),
[1] => Array (
'id' => '1'
[P4] => Array (
'id' => 'P4'
[P5] => Array (
'id' => 'P5'
.
.
.
n level
),
),
),
),
如您所见,我获取了每个键并将其映射到数组的直接主体中的“id”。
这是我尝试过的,
function recursive_function($arr)
{
$result = [];
if (is_array($arr)) {
foreach ($arr as $el) {
$result = array_merge($result, recursive_function($el));
}
} else {
$result[] = $input;
}
return $result;
}
我是递归函数和 PHP 的新手,所以无法思考如何映射、映射到哪里以及为什么。
请帮我得到这个输出。任何帮助将不胜感激。
【问题讨论】:
标签: php arrays recursion multidimensional-array