Мне нужен способ объединить несколько массивов (возможно, около 8) и суммировать любые дубликаты ключей или под-ключей.
Например:
$arr1 = array( "Friday" => array( "Breakfast" => 32, "Lunch" => 45 ), "Sunday" => array( "Lunch" => 12 ) ); $arr2 = array( "Sunday" => array( "Breakfast" => 7, "Lunch" => 3 ), "Monday" => array( "Breakfast" => 12 ) ); $arr3 = array( "Monday" => array( "Breakfast" => 31 ) );
И результат должен быть примерно таким:
$total = array( "Friday" => array( "Breakfast" => 32, "Lunch" => 45 ), "Sunday" => array( "Breakfast" => 19, "Lunch" => 15 ), "Monday" => array( "Breakfast" => 43 ) );
Как я могу объединить это? Я пробовал использовать
array_map()
Но это, казалось, терпит неудачу с многомерными массивами вроде этого. Также попытался использовать
Foreach()
но это было довольно запутанно.
Вот моя попытка:
$total = array_map( function( $arr1, $arr2, $arr3 ){ return( $arr1 + $arr2 + $arr3 ); }, $arr1, $arr2, $arr3 );