So, habe einmal dieses hier überlegt, aber ich weiß nicht, ob das irgendwie weiterhilft...
function sortiere_descendants($desc_array1, $desc_array2) {
if (isset($desc_array1['descendants']) && is_array($desc_array1['descendants']))
$desc_array1 = sortiere_master_array($desc_array1);
if (isset($desc_array2['descendants']) && is_array($desc_array2['descendants']))
$desc_array2 = sortiere_master_array($desc_array2);
$groesser_kleiner = 0; // Wert für "gleicher Rang"
// hier die Kriterien herausfinden und vergleichen
return $groesser_kleiner;
}
function sortiere_master_array($master_array) {
if (is_isset($master_array['descendants']) && is_array($master_array['descendants'])) {
usort($master_array['descendants'], 'sortiere_descendants');
}
return $master_array;
}
$mein_ausgangs_array = sortiere_master_array($mein_ausgangs_array);
Ich habe allerdings den Verdacht, dass diese Herangehensweise extrem unperformant ist, da sie einige Arrays mehrfach sortiert... Auf die Schnelle weiß ich nur keinen besseren Ansatz.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)