3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = [ [ "total_process_per_category" => "6", "category_id" => "1" ], [ "total_process_per_category" => "2", "category_id" => "2" ] ]; $array2 = [ [ "total_pinned_per_category" => "16", "category_id" => "1" ], [ "total_pinned_per_category" => "4", "category_id" => "2" ] ]; var_export( array_values( array_reduce( array_merge($array1, $array2), function ($result, $row) { $result[$row['category_id']] = ($result[$row['category_id']] ?? []) + $row; return $result; }, [] ) ) );

preferences:
23.84 ms | 402 KiB | 5 Q