Hi!
Hab schon gesucht danach, auch bisschen was gefunden, werde aber nicht wirklich schlau daraus.
Ich seh mir grad Rekursivität etwas näher an und probiere an folgender (Basis-) Lösung herum, habe auch einen Denkansatz, allerdings fehlt mir der Denkanstoß für die Umsetzung:
2-dimensionales Array:
parent gibt das übergeordnete Element an, id die eindeutige id des Elements, das Array erhält eine Bezeichnung ($foo[parent][id]=bezeichnung).
Das Problem:
alle Elemente (Bezeichnungen) in Baumstruktur ausgeben, also
Mein Denkansatz:
Jedes Arrayelement muss demjenigen Element untergeordnet werden, wo seine id als parent drin steht.
Mein Testarray:
Mein Quellcode:
...bringt folgende Ausgabe:
...sollte aber Folgendes ausgeben:
...was mach ich falsch?
Danke für eure Anregungen!
lG, bernie
Hab schon gesucht danach, auch bisschen was gefunden, werde aber nicht wirklich schlau daraus.
Ich seh mir grad Rekursivität etwas näher an und probiere an folgender (Basis-) Lösung herum, habe auch einen Denkansatz, allerdings fehlt mir der Denkanstoß für die Umsetzung:
2-dimensionales Array:
PHP-Code:
$foo['parent']['id']
Das Problem:
alle Elemente (Bezeichnungen) in Baumstruktur ausgeben, also
PHP-Code:
element
--element
--element
----element
--element
Jedes Arrayelement muss demjenigen Element untergeordnet werden, wo seine id als parent drin steht.
Mein Testarray:
PHP-Code:
$array[0][1] = studio;
$array[1][2] = yamaha 01v;
$array[1][3] = EWS64;
$array[1][4] = Waldorf Micro Q;
$array[1][5] = Sirius;
$array[3][7] = Outboard;
$array[3][8] = SPDIF;
$array[5][6] = Sirius Mikrofon;
$array[7][9] = Stecker;
PHP-Code:
function echotree($start, $ebene)
{
foreach ($start as $key => $value)
{
if($key == 0) // Erste Ebene - root
$ebene == 0;
if(is_array($value))
{
$ebene++;
echotree($value, $ebene);
}
else
{
for($i = 0; $i < $ebene; $i++) // Einrücken
echo "-";
echo $value."<br>"; // Beschreibung anzeigen
}
}
}
echotree($array,0)
PHP-Code:
studio
-yamaha 01v
-EWS64
-Waldorf Micro Q
-Sirius
--Outboard
--SPDIF
---Sirius Mikrofon
----Stecker
PHP-Code:
studio
-yamaha 01v
-EWS64
--Outboard
----Stecker
--SPDIF
-Waldorf Micro Q
-Sirius
--Sirius Mikrofon
Danke für eure Anregungen!
lG, bernie
Kommentar