¿Cómo almacenar datos de columna como valores separados por comas cuando se encuentran valores duplicados en otra columna?

ebo combinar o implosionar valores de submatriz si el producto será el mismo para cualquier empresa.

La salida esperada debería ser como:

0 => 
array (
    'company' => '1,6'
    'product' => 5,
),

My Array es:

array (
    0 => 
    array (
        'company' => 1,
        'product' => 5,
    ),
    1 => 
    array (
        'company' => 2,
        'product' => 4,
    ),
    2 => 
    array (
        'company' => 6,
        'product' => 5,
    ),
    3 => 
    array (
        'company' => 2,
        'product' => 3,
    ),
)

Mi código es:

foreach($prSuppliers as $key=>$val){
    if($prSuppliers[$key]['company_master_id']==$val['company_master_id']){
        $contactemaileach = $val['company_master_id'];
        $imp = implode(',', $contactemaileach);
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta