我有一個數組結構類似:如何過濾一個數組,以刪除父母等於零的孩子?
$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