【发布时间】:2018-10-07 06:42:56
【问题描述】:
所以我有一个递归函数,它到达最后一个数组的末尾并打印它的值:
function recursive($array, $level = 1) {
foreach($array as $key => $value){
if(is_array($value)){
recursive($value, $level + 1);
} else{
echo 'LEVEL : '. $level . " ==> " . $key . ": " . $value, '<br>';
}
}
}
并因此显示以下示例:
LEVEL : 2 ==> value: 10
LEVEL : 4 ==> key: A
LEVEL : 5 ==> value: 15
LEVEL : 7 ==> key: B
LEVEL : 8 ==> value: 45
LEVEL : 4 ==> key: C
LEVEL : 5 ==> value: 77
LEVEL : 7 ==> key: D
LEVEL : 8 ==> value: 18
在最新级别(在本例中为 8)的末尾,我想显示其父级的值而不是所有内容 - 例如:
LEVEL : 8 ==> value: 10, key: A, value: 15, key: B, value: 45
LEVEL : 8 ==> value: 10, key: C, value: 77, key: D, value: 18
知道 8 只是一个例子,可能还有很多。
输入数组示例:
array = array(
array(
"value"=>"10"
array(
array(
"key"=>"A",
array(
"value"=>"15",
),
... etc
),
... etc
),
),
);
有人可以帮我完成这个算法吗?
【问题讨论】:
-
你能告诉我们输入数组吗?
-
@Daniel1147 数组非常庞大,我写了一个简单的示例,但是您必须了解级别。每个级别基本上都是一个数组。
-
我认为传递遍历路径作为参数会有所帮助。
-
@Daniel1147 你是什么意思?你能开发吗:)
-
我假设如果一个数组不包含数组元素,则它是最新级别。对吗?