減少我有這樣陣列與關聯數組
$filter_array = Array
(
[0] => Array
(
[fv_id] => 1
[fv_value] => Red
[filter_id] => 1
[filter_name] => Color
)
[1] => Array
(
[fv_id] => 2
[fv_value] => Blue
[filter_id] => 1
[filter_name] => Color
)
)
我想通過具有上陣列的頂部FILTER_NAME和過濾器_id這對於所有陣列類似,以減少陣列的陣列。
$newArray = array_reduce($filter_array,function($carry,$item){
$allFilterValues[] = array(
'fv_id' => $item['fv_id'],
'fv_value' => $item['fv_value'],
);
$formated_array = array(
'filter_id' => $item['filter_id'],
'filter_name' => $item['filter_name'],
'filter_values' => $allFilterValues
);
return $formated_array;
});
但我剛開最後一個數組迭代值上filter_values
Array
(
[filter_id] => 1
[filter_name] => Color
[filter_values] => Array
(
[0] => Array
(
[fv_id] => 2
[fv_value] => Blue
)
)
)
但我想數組是這樣的。
Array
(
[filter_id] => 1
[filter_name] => Color
[filter_values] => Array
(
[0] => Array
(
[fv_id] => 1
[fv_value] => Red
),
[1] => Array
(
[fv_id] => 2
[fv_value] => Blue
)
)
)
如果你正在合併'filter_id',爲什麼你放棄它作爲數組鍵?你確定你有關鍵的名字嗎?在我看來,你應該在每個子組之前使用'filter_id'和'filter_name'作爲鍵。 – mickmackusa
在'array_reduce'回調的每次迭代中,您應該返回'$ carry' –