Combinar y agrupar por varias matrices

Necesito fusionar matrices asociativas y agrupar por el nombre. Digamos que tengo tales 3 matrices:

ARRAY1
    "/path/file.jpg"  =>  2, 
    "/path/file2.bmp" =>  1,
    "/file3.gif"      => 5,

ARRAY2
    "/path/file.jpg"  =>  1, 
    "/path/file2.bmp" =>  1,
    "/file3.gif"      => 0,

ARRAY3
    "/path/file.jpg"  =>  1, 
    "/path/file2.bmp" =>  1,

Necesito fusionar estas matrices en una y agruparlas por ruta de archivo y obtener el resultado de la suma de sus valores. Algo como

SELECT filename, SUM(val) FROM files
GROUP BY filename

Pero con múltiples matrices de entrada. Las matrices son cortas (alrededor de 20 elementos como máximo). Cada matriz puede tener un tamaño diferente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta