3v4l.org

run code in 300+ PHP versions simultaneously
<?php $langs = [ 5 => "english", 10 => "french", 12 => "german" ]; $posts = [ [ "date" => "13-07-2022", "lang_id" => 5, "amount" => 90, ], [ "date" => "13-07-2022", "lang_id" => 10, "amount" => 34, ], [ "date" => "14-07-2022", "lang_id" => 5, "amount" => 7, ], ]; $defaults = array_fill_keys($langs, 0); $result = []; foreach ($posts as $row) { extract($row); $result[$date] ??= ['date' => $date] + $defaults; $result[$date][$langs[$lang_id]] += $amount; } var_export(array_values($result));

preferences:
30.15 ms | 407 KiB | 5 Q