我有,我有孩子的父母,子女,孩子,孩子的孩子儿童等等等等填充数组。然而,我似乎无法弄清楚如何在不需要编写每个关卡的情况下尽可能多地创建关卡。PHP Array添加无论儿童?
首先现在我有
foreach($this->tree as $k=>$v) {
if($v['id'] == $i['pid']) {
// Add children
$this->tree[$k]['children'][] = array('name'=>$i['name'],'id'=>$i['id']);
break;
}else{
foreach($v['children'] as $kc=>$vc) {
$this->tree[$k]['children'][$kc]['children'][] = array('name'=>$i['name'],'id'=>$i['id']);
}
}
}
产生的东西,看起来像
Array
(
[0] => Array
(
[name] => Test
[id] => 1
[children] => Array
(
[0] => Array
(
[name] => Test2
[id] => 2
[children] => Array
(
[0] => Array
(
[name] => Test 3
[id] => 3
)
)
)
)
)
);
但我似乎无法弄清楚如何做的是没有写出一个十亿foreach循环。
$ i就是一个四行,ID,PID(父ID),名称和重量。
[递归函数的可能的复制产生从数据库结果多维数组](http://stackoverflow.com/questions/8587341/recursive-function-to-generate-multidimensional-array-from-database-result)。递归,weeee〜! – deceze
'$ i'是怎么样的? – SuperSaiyan
通常对于那样的树结构,您将需要使用递归函数。 – robbrit