Wie erstelle ich eine rekursive Funktion, um alle Kombinationen eines mehrstufigen Arrays aufzulisten?

Ich habe ein Array, das eine beliebige Anzahl von Elementen enthalten kann. Jedes Element enthält eine ID und ein Array mit der Bezeichnung "options" (auch mit einer beliebigen Anzahl von Elementen). Hier ist die Struktur:

$arr = array(
             array('id' => 10, 'options' => array(3, 5)),
             array('id' => 15, 'options' => array(2, 4, 8, 9)),
             array('id' => 20, 'options' => array(2, 6, 7)),
             // ... any number of elements
            );

Ich möchte ein weiteres Array erstellen, das auf diesem Array basiert. Jeder Schlüssel ist das ID-Feld + ein 'Option'-Array-Wert, und der Wert ist ein Array des nächsten Elements und dann des nächsten usw. Grundsätzlich sollte es mir jede Kombination der obigen Arrays geben (Art wie ein Baum), in der Reihenfolge, in der das Array definiert wurde:

$new = array(
             '10-3' => array(
                            '15-2' => array('20-2', '20-6', '20-7'),
                            '15-4' => array('20-2', '20-6', '20-7'),
                            '15-8' => array('20-2', '20-6', '20-7'),
                            '15-9' => array('20-2', '20-6', '20-7')
                            ),
             '10-5' => array(
                            '15-2' => array('20-2', '20-6', '20-7'),
                            '15-4' => array('20-2', '20-6', '20-7'),
                            '15-8' => array('20-2', '20-6', '20-7'),
                            '15-9' => array('20-2', '20-6', '20-7')
                            )
             );

Da das Array eine beliebige Anzahl von Elementen enthalten kann, gehe ich davon aus, dass ich eine Art rekursiver Funktion einschließen müsste. Ich habe nicht viel Erfahrung mit Rekursionen, daher ist dies eine ziemlich entmutigende Aufgabe für mich.

Könnte ich ein paar Hinweise bekommen, wo ich anfangen soll, diese rekursive Funktion aufzubauen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage