Есть исходные массивы:
Код: Выделить всё
$a = [
["a1", "a2"],
["b1", "b2", "b3"],
["c1", "c2"],
];
['a1', 'b1', 'c1'], ['a1', 'b1', 'c2'], ['a1', 'b2', 'c1'], ['a1', 'b2', 'c2'], ['a1', 'b3', 'c1'], ['a1', 'b3', 'c2'],
['a2', 'b1', 'c1'], ['a2', 'b1', 'c2'], ['a2', 'b2', 'c1'], ['a2', 'b2', 'c2'], ['a2', 'b3', 'c1'], ['a2', 'b3', 'c2']
т.е. все уникальные сочетания значений исходных массивов.
Количество исходных массивов произвольное, значений тоже может быть разное количество.