0
다차원 배열을 가지고 있으며 모든 레벨의 모든 항목을 반복하고 'children'과 'attribute_id'가 모두 비어있는 항목을 제거하고 싶습니다 (이 경우 마지막 2 개 항목 56 및 70의 키 사용).다차원 배열을 반복하고 일치하는 항목을 설정 해제
Array
(
[11] => Array
(
[page_id] => 11
[page_parent_id] => 0
[attribute_id] => 8
[children] => Array
(
)
)
[12] => Array
(
[page_id] => 12
[page_parent_id] => 0
[attribute_id] =>
[children] => Array
(
[49] => Array
(
[page_id] => 49
[page_parent_id] => 12
[attribute_id] =>
[children] => Array
(
[50] => Array
(
[page_id] => 50
[page_parent_id] => 49
[attribute_id] => 32
[children] => Array
(
)
)
)
)
)
)
[13] => Array
(
[page_id] => 13
[page_parent_id] => 0
[attribute_id] => 9
[children] => Array
(
)
)
[46] => Array
(
[page_id] => 46
[page_parent_id] => 0
[attribute_id] =>
[children] => Array
(
[52] => Array
(
[page_id] => 52
[page_parent_id] => 46
[attribute_id] => 34
[children] => Array
(
)
)
[53] => Array
(
[page_id] => 53
[page_parent_id] => 46
[attribute_id] =>
[children] => Array
(
[54] => Array
(
[page_id] => 54
[page_parent_id] => 53
[attribute_id] => 35
[children] => Array
(
)
)
[70] => Array
(
[page_id] => 70
[page_parent_id] => 53
[attribute_id] =>
[children] => Array
(
)
)
)
)
[56] => Array
(
[page_id] => 56
[page_parent_id] => 46
[attribute_id] =>
[children] => Array
(
)
)
)
)
)
나는 내가 해제 할 항목을 에코 할 수있는 지금까지있어하지만 난 그렇게 내가 실제로 해제 할 수하는 방법을 모르겠어요. 이 같은
function loop($a) {
if(empty($a['children']))
{
if(empty($a['attribute_id']))
{
var_dump($a);
}
} else {
foreach($a['children'] as $v) {
loop($v);
}
}
}
foreach($pages as $p)
{
loop($p);
}