Kommen wir zur Liste.
Also statt print_r brauchst Du eine rekursiv aufgerufene Funktion, weil Du ja ebentuell wieder einen Array als Element hast.
$dummy=print_my_list ($items[5]); # statt print_r($items[5]);
function print_my_list($ar, $t=0) {
$rueck=''; for ($i=0;$i<$t;$i++) { $rueck = $rueck . " "; } #Nur für schöneres Ergebnis
print "\n$rueck<ul>";
print "\n$rueck <li>id: " . $ar['id'] . "</li>";
print "\n$rueck <li>name: " . $ar['name'] . "</li>";
if ( isset($ar['his_parent']) ) {
print "\n$rueck <li>";
print_my_list($ar['his_parent'], $t+2); # Ja, Die ruft sich selbst auf!
# Deswegen "rekursiv aufgerufene Funktion"
print "\n$rueck </li>";
}
print "\n$rueck</ul>";
}
Ergebnis:
<ul>
<li>id: 5</li>
<li>name: AAA</li>
<li>
<ul>
<li>id: 3</li>
<li>name: AA</li>
<li>
<ul>
<li>id: 1</li>
<li>name: A</li>
</ul>
</li>
</ul>
</li>
</ul>