kostenloser Webspace werbefrei: lima-city


Bäume mit php

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    travianinc

    travianinc hat kostenlosen Webspace.

    Hallo,
    ich vermute mal, dass ich mich gerade sehr dämlcih anstelle, aber ich kriegs gerade einfach nicht auf die Reihe.

    Undzwar versuche ich einen simplen Baum in PHP zu realisieren; Er hat etwa folgenden Aufbau:

    Wurzel -> [0 oder 1] -> [verschiedene IDs] -> Blätter mit einzelnen Zahlen als Werte

    Das ganze versuche ich gerade folgendermaßen in PHP umzusetzen:
    $a = 0;
    $b = 10000002;
    
    $array = array(18, 21, 34, 41, 55);
    
    $root->$a->$b = $array;

    Das soll als Beispiel reichen, über $a und $b wird das ganze dann noch verzweigter.
    Der nächste Schritt wäre es jetzt, alle Informationen wieder auszulesen.

    Und an der Stelle komm ich nicht weiter. Wenn ich $root an eine Funktion übergebe, muss ich daraus ja irgendwie meine 0 oder meine 10000002 wiederbekommen. So, dass ich die Werte wieder einzeln in Variablen speichern kann.

    /edit
    Natürlich finde ich eine Lösung, kurz nachdem ich die Frage gepostet habe und nicht kurz davor...

    Ich habe immer folgendes probiert:
    foreach ($root as $c_root) echo $c_root;

    Warum das nicht funktioniert, aber sehr wohl dashier:
    foreach ($root as $c_root =>$next) echo $c_root;

    Leuchtet mir zwar keinesfalls ein, aber sei's drum...

    /edit 2
    Noch eine kleine Nervigkeit, die mich gerade einiges an Zeit gekostet hat. Das sukzessive Hinzufügen von Daten geht durch oben beschriebenes Problem auch nur über einen Umweg.
    while($data = mysql_fetch_object($result)) {
          $location = $data->solarSystemID;
          if(isset($items->$a->$b)) {
            $tmp = $items->$a->$b;
            $tmp[] = $data->typeID;
            $items->$a->$b = $tmp;
          } else $items->$a->$b = array($data->typeID);
        }

    Falls jemand eine schönere Lösung dazu weiß, wäre ich Dankbar die mitgeteilt zu bekommen.

    Beitrag zuletzt geändert: 4.4.2012 1:23:28 von travianinc
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    travianinc schrieb:
    Ich habe immer folgendes probiert:
    foreach ($root as $c_root) echo $c_root;
    Warum das nicht funktioniert, aber sehr wohl dashier:
    foreach ($root as $c_root =>$next) echo $c_root;
    Leuchtet mir zwar keinesfalls ein, aber sei's drum...
    Der Grund hierfür: die 1. Variante gibt dir immer die Werte zurück, die 2. Variante gibt dir die Namen und Werte zurück.

    Zum Verständnis:
    foreach ($root as $c_root) echo $c_root;
    // ist das gleiche wie das:
    foreach ($root as $c_root => $next) echo $root[$c_root];
    // ist das gleiche wie das:
    foreach ($root as $c_root => $next) echo $next;
    // ist aber nicht das gleiche wie:
    foreach ($root as $c_root => $next) echo $c_root;
  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!