Jörg Reinholz: Sortierproblem

Beitrag lesen

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>