kostenloser Webspace werbefrei: lima-city


array Ebenen umkehren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    gamebox

    gamebox hat kostenlosen Webspace.

    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 ?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!