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:123456789function
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