Bäume mit php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beispiel
code
datum
einzelnen zahlen
folgenden aufbau
frage
funktion
information
item
jemand
krieg
problem
realisieren
schritt
umweg
url
variablen speichern
versuchen
wurzel
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
travianinc schrieb:
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.
Ich habe immer folgendes probiert:
Warum das nicht funktioniert, aber sehr wohl dashier:foreach ($root as $c_root) echo $c_root;
Leuchtet mir zwar keinesfalls ein, aber sei's drum...foreach ($root as $c_root =>$next) echo $c_root;
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;
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage