3v4l.org

run code in 300+ PHP versions simultaneously
<?php $A = array( 'Z'=>array('d'=>array( 'v1'=>10, 'v2'=>20, 'v3'=>30 ) ), 'A'=>array('a'=>array( 'v1'=>1, 'v2'=>2, 'v3'=>3 ), 'b'=>array( 'v1'=>1, 'v2'=>2, 'v3'=>3 ) ), 'B'=>array('a'=>array( 'v1'=>1, 'v2'=>2, 'v3'=>3 ), 'b'=>array( 'v1'=>1, 'v2'=>2, 'v3'=>3 ) ), 'C'=>array('a'=>array( 'v1'=>9, 'v2'=>8, 'v3'=>7 ), 'b'=>array( 'v1'=>6, 'v2'=>5, 'v3'=>4 ) ) ); $total=array_reduce($A,function(&$r,$v){ array_walk($v,function($val,$key)use(&$r){ if(!isset($r[$key])) $r[$key]=array(); array_walk($val,function($vv,$vk)use(&$r,$key){ if(!isset($r[$key][$vk])) $r[$key][$vk]=0; $r[$key][$vk]+=$vv; }); }); return $r; },array()); print_r($total);

preferences:
41.1 ms | 402 KiB | 5 Q