Zurücksetzen von array-keys in mehrdimensionalen array

Ich habe auf der Suche nach einer Lösung um dieser ohne wirklichen Erfolg. Ich habe ein mehrdimensionales array, von Eltern und Kindern, die keine Grenzen an Tiefe. Dieser generiert aus einer Datenbank, aber das Problem ist, dass die item-ID wird der Schlüssel über meine Art der Vermittlung von einem flachen array in ein mehrdimensionales array wie folgt:

Array(

[28] => Array
        (
            [id] => 28
            [color] => #ff24e5
            [name] => Personal
            [parent_id] => 
            [children] => Array
                (
                    [23] => Array
                        (
                            [id] => 23
                            [color] => #41c3a3
                            [name] => Shopping
                            [parent_id] => 28
                            [children] => Array
                                (
                                    [22] => Array
                                        (
                                            [id] => 22
                                            [color] => #8be32b
                                            [name] => Deals
                                            [parent_id] => 23
                                            [children] => Array
                                                (
                                                )
                                        )
                                )
                        )

                    [150] => Array
                        (
                            [id] => 150
                            [color] => #e9a3f0
                            [name] => Orders
                            [parent_id] => 28
                            [children] => Array
                                (
                                )
                        )
                )
        )
)

Was ich möchte, ist eine Funktion, die Folgendes macht:

Array (
[0] => Array
        (
            [id] => 28
            [color] => #ff24e5
            [name] => Personal
            [parent_id] => 
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 23
                            [color] => #41c3a3
                            [name] => Shopping
                            [parent_id] => 28
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 22
                                            [color] => #8be32b
                                            [name] => Deals
                                            [user_id] => 1
                                            [selected] => 0
                                            [parent_id] => 23
                                            [children] => Array
                                                (
                                                )
                                        )
                                )
                        )

                    [1] => Array
                        (
                            [id] => 150
                            [color] => #e9a3f0
                            [name] => Orders
                            [parent_id] => 28
                            [children] => Array
                                (
                                )
                        )
                )
        )
)

Im wesentlichen zuweisen-Tasten, beginnend von 0. Ich habe versucht, verschiedene Methoden, aber ich gehe davon aus, dass ich zu finden eine rekursive Lösung, und als ich versuchte, es zerstört mein array. Ich war Lesung über die array_walk_recursive () - Funktion, aber ich weiß nicht ganz, was Sie darüber hinaus tun. Im wesentlichen ist es eine Möglichkeit zum zurücksetzen der numerischen Tasten in einem mehrdimensionalen array?

Danke für die Hilfe!

  • Ich beantwortete Ihre Frage nur, nachdem du Sie gefragt hast. Es ist 2 Stunden später, sind Sie wieder? Wenn dies Ihre Frage beantwortet, bitte klicken Sie auf das Häkchen-Symbol neben der Antwort zu markieren es als angenommen.
InformationsquelleAutor flicker | 2011-08-09
Schreibe einen Kommentar