3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Info { public function __construct(public int $count) {} } $ballsToDolls = [1 => [11 => new Info(3), 22 => new Info(4)], 2 => [22 => new Info(5), 44 => new Info(6)]]; print_r($ballsToDolls); $data = []; foreach ($ballsToDolls as $ballId => $dolls) { foreach ($dolls as $dollId => $info) { $data[$ballId][$dollId] = ($data[$ballId][$dollId] ?? 0) + $info->count; } } print_r($data); $data = $ballsToDolls; array_walk_recursive($data, static function(&$item, $key) { $item = $item instanceof Info ? $item->count : $item; }); print_r($data);

preferences:
24.19 ms | 405 KiB | 5 Q