Hallo Sven,
$ar[0] = array('titel_1','0');
$ar[1] = array('titel_2','0');
$ar[2] = array('titel_3','1');
$ar[3] = array('titel_4','0');
$ar[4] = array('titel_5','3');
$ar[5] = array('titel_6','4');Rauskommen soll also sowas:
titel_1
titel_3
titel_5
titel_2
titel_4
titel_6Deine Testdaten passen nicht zu deinem gewünschten Baum. Überarbeite eines von beiden, gern auch beides.
Na wunderbar, wohl nicht mal das kann ich mehr erkennen.
Denn für mich siehts richtig aus.
Und als Lösungsansatz empfiehlt es sich evtl., tatsächlich ein Baumarray zu erstellen. Wenn du zum Zeitpunkt von titel_2 weißt, dass dieser Unterelement von titel_1 ist, häng' es dort drunter ein.
»»
Ja aber wie darunter, endlos mehrdimensionalearrays?
Meine aktuelle Funktion scheint schon falsch durchdacht zu sein.
function maketree($ar,$id='0')
{
foreach($ar as $k => $w)
{
$x = $w[0];
$sub = $w[1];
//Ebene erstellen, also alles was $pos im sub hat
if($sub == "$id"){$newar[$id][$k][] = $x;}
else{$newar[$k][] = maketree($ar,$k);}
}
return $newar;
}// end of func.
Komme anscheinend einfach nicht mehr weiter ohne ein kleines Beispiel.
Danke
Benno