oliver: Rekursives Zusammenführen eines zweidimensionalen Arrays

Beitrag lesen

Für jede Hilfe bin ich sehr dankbar!
Mein Problem ist folgendes:

Gegeben ist ein Array mit 0 bis ca. 5 Feldern, in denen
je wiederum ein Array mit 1 bis ca. 20.000 Feldern die mit
Stringwerten gefüllt sind, enthalten sind.

Das Resultat soll ein Array sein, das alle Kombinationsmöglichkeiten
der Strings enthält, z.B. bei dem Ausgangsarray
Array (
   [0] => Array ( [0] => A [1] => B )
   [1] => Array ( [0] => H )
   [2] => Array ( [0] => X [1] => Y [2] => Z )
)
Sollte das Ergebnis so aussehen:
Array (
   [0] => AHX
   [1] => AHY
   [2] => AHZ
   [3] => BHX
   [4] => BHY
   [5] => BHZ
)
Die Reihenfolge der Ergebnisse ist dabei unwichtig, es
sollen halt alle Kombinationsmöglichkeiten je einmal enthalten
sein.

Wie muss eine Funktion zur rekursiven Lösung dieser
Aufgabe aufgebaut sein? Oder gehts auch ohne Rekursion?
Wie lässt sich das ganze realisieren?

Vielen Dank!!!