Объединить и суммировать два многомерных массива в PHP

Мне нужен способ объединить несколько массивов (возможно, около 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 );