我有一个数组结构类似:如何过滤一个数组,以删除父母等于零的孩子?
$something = array(
0 => array(
'label' => 'Foo',
'items' => array(
'123' => 4,
'124' => 0,
)
),
1 => array(
'label' => 'Bar',
'items' => array(
'125' => 5,
'126' => 1,
)
),
2 => array(
'label' => 'Baz',
'items' => array(
'127' => 0,
'128' => 0,
)
)
);
,我需要除去所有的“项目”键具有值零,并且如果项目没有孩子的,删除整个块。
所以,过滤该数组后,我应该有:
array(2){
[0]=>
array(2) {
["label"]=> "Foo"
["items"]=>
array(1) {
[123]=> 4
}
}
[1]=>
array(2) {
["label"]=> "Bar"
["items"]=>
array(2) {
[125]=> 5
[126]=> 1
}
}
}
我使用array_filter,array_walk和array_walk_recursive(这个作品很好tryed - 但是 - 犯规让我删除回调的关键函数..)没有成功..
我有解构和重新构建一个新的数组,或者我缺少array_ *函数的正确使用吗?
+1它完美,谢谢!但它对我的实际需要看起来有点矫枉过正..我会用捅的解决方案 – Strae 2010-02-03 11:42:28