我有一个这样的数组:
array(
array(
'id' => 1,
'parent_id' => null
),
array(
'id' => 2,
'parent_id' => 1
),
array(
'id' => 3,
'parent_id' => 2
),
array(
'id' => 4,
'parent_id' => null
),
array(
'id' => 5,
'parent_id' => 4
)
);
我怎样才能找到包括所有大孩子在内的父母的所有孩子?例如,函数将为parent_id 1返回2,3。
感谢。
答案 0 :(得分:3)
//我更正了数组以适合你的结果1 => 2,3
<?php
$test = array(
array(
'id' => 1,
'parent_id' => null
),
array(
'id' => 2,
'parent_id' => 1
),
array(
'id' => 3,
'parent_id' => 1
),
array(
'id' => 4,
'parent_id' => null
),
array(
'id' => 5,
'parent_id' => 4
)
);
// 1_2+3
$parent_childs = ARRAY();
foreach ($test AS $index => $child) {
if (!isset($child['parent_id'])) { continue; }
$parent_childs[$child['parent_id']][] = $child['id'];
}
echo '<pre>';var_dump($parent_childs); echo '</pre>';
?>