array Ebenen umkehren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
aufbau
ausgabe
baum
beispiel
code
eingabe
element
folgenden annahmen
form
frage
innere array
innerste array
internen funktion
plattform
reihenfolge
sinn
spiel
stehen
-
Hallo
Wenn ich ein Array in der Form habe
$data = array ( 'subdata' = array ( 'Name' = 'Spiele', 'subdata' = array ( 'Name' = 'Xbox One', 'subdata' = array ( 'Name' = 'Plattformen', 'subdata' = array ( 'Name' = 'Games', ) ) ) ) )
Wie komme ich dann auf genau die umgedrehte Reihenfolge
$data = array ( 'subdata' = array ( 'Name' = 'Games', 'subdata' = array ( 'Name' = 'Plattformen', 'subdata' = array ( 'Name' = 'Xbox One', 'subdata' = array ( 'Name' = 'Spiele', ) ) ) ) )
also so, dass die Ebenen im Baum genau andersrum stehen, letzte wird erste ...
... egal, wieviele Ebenen (hier: 4) das Array hat ... also das ist nur ein Beispiel
geht das mit einer (PHP internen) Funktion? ... oder selber eine schreiben? wie ?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich muss leider danach fragen, welchen Sinn dieser Aufbau des Arrays hat.
Aus dem Beispiel entnehme ich die folgenden Annahmen:
- Das äußerste Array enthält nur den Schlüssel "subdata", dessen Value das nächst innere Array enthält.
- Weiter innen liegende Arrays enthalten ein "Name" mit den Nutzdaten und "subdata" wiederum auf das nächste Element.
- Das innerste Array enthält nur noch "Name"
Dann vielleicht mit diesem Code:function umkehren($eingabe) { $eingabe=$eingabe["subdata"]; $ausgabe=array("Name" => $eingabe["Name"]); while (isset($eingabe["subdata"])) { $eingabe=$eingabe["subdata"]; $ausgabe=array("Name" => $eingabe["Name"], "subdata" => $ausgabe); } return array("subdata" => $ausgabe); }
(noch ungetestet)
Edit: Dein Beispiel wird korrekt verarbeitet.
Beitrag zuletzt geändert: 3.4.2015 18:45:17 von fuerderer -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage