Нет встроенной функции, которая объединяет значения так, как в вашем примере.
array_combine()
объединяет массивы.
Вам нужна функция, которая несколько имитируетэта функциональность, но вместо того, чтобы отбрасывать значение ключей, у которых уже есть значение, вам нужно выполнить конкатенацию строк.
function array_concat(Array $array1array, Array $array2array) {
foreach ($array2array as $key => $value) {
$newval = "";
if (isset($array1array[$key])) {
$newval = $array1array[$key] . ",";
}
$array1array[$key] = $newval . $value;
}
return $array1array;
}
Оттуда вам нужно будет адаптировать функцию для применения к многомерным массивам.