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
Comment