Hallo nochmal!
$val ist eine Kopie. Das Original ist $arraytosort[$key]. Da muss das Ergebnis von sort_array($val) rein. Also statt
$val = sort_array($val);
schreibst du
$arraytosort[$key] = sort_array($val);
und alles wird gut.
Also nachdem ich es heute morgen dann ja schon geschafft hatte, die Sortierung direkt bei der Erstellung des Arrays vorzunehmen, habe ich es jetzt auch geschafft, das fertige Array zu sortieren.
$dircount = count($mein_ausgangs_array);
for($i=0; $i<$dircount; $i++) {
if($mein_ausgangs_array[$i]['filetype'] == 'd' && $mein_ausgangs_array[$i]['desc']) $mein_ausgangs_array[$i]['desc'] = sort_array($mein_ausgangs_array[$i]['desc']);
}function sort_array($arraytosort) {
if(!is_array($arraytosort) || !count($arraytosort)) return;
uasort($arraytosort, "gp_sort_dirsandfiles");
if($conf['navmenu']['dirsbeforefiles']) usort($arraytosort, "gp_sort_dirsbeforefiles");
foreach($arraytosort as $key => $val) {
if($arraytosort[$key]['desc']) $arraytosort[$key]['desc'] = sort_array($arraytosort[$key]['desc']);
}
return $arraytosort;
}
So, kleine Korrektur!
Funktioniert auch so, da ich ja nicht mit der Kopie von foreach arbeite, sondern jeweils mit dem originalen Array.
Gruß Gunther