problem: die anzahl an arrays, die ich sortieren möchte ist jedoch dynamisch (1 - ca. 30), d.h. ich kann die argumente der funktion nicht einmalig definieren. gibts da ne andere möglichkeit als 500 zeilen if-abfragen zu erstellen?
Was ich am Multisort nicht schnall:
Warum macht man _einen_ Multisort, wenn die arrays eh nichts miteinander zu tun haben?
Logischer wäre diese separat zu behandeln, dann könntest du das Sortieren auch per loop machen. (Vorausgesetzt, sie sitzen selbst auch in nem Array, aber sollte ja kein Prob. sein, oder?)
Ich würds dann so machen:
foreach ($array_container_array as $array) {
array_multisort($array);
}
ich brauch nun einen logaritmus im code, der es schnallt, wenn ein $ar4 = array ("9d", "8d", "7d", "6d", "5d", "4d", "3d", "2d", "1d") vorhanden ist, automatisch das ausgibt:
Ich komm immer noch nicht ganz draus, hab dafür mal den gleichen output hingekriegt wie du mit:
array_multisort($ar,SORT_ASC);
for($x = 0; $x < count($ar[0]); $x++) {
for($i = 0; $i < count($ar); $i++) {
echo $ar[$i][$x];
}
echo " ";
$i = 0;
}
Hab diese Lösung schon angetönt/vermutet in meinem Post um 15:44.
array_multisort($ar,SORT_ASC);
sortiert die einzelnen arrays im array
-----------------------------------------------
array_multisort($ar1 , SORT_ASC , $ar2 , $ar3);
sortiert die werte der arrays nach dem array $ar1
blöd... in c könnte ich dir das jetzt low-levelig lösen :-)
die funktion hat eben schon eine saublöde syntax für deine ansprüche...
aber so wie milamber um 15:44 geschrieben hat, könnte es ja gehen, da php ja eh immer erst interpretiert wird...
Sorry, ich versteh das Problem nicht genau (liegt an mir).
Gehts wirklich nicht, wenn du deine Arrays in ein übergeordnetes Array stopfst, und danach mit dem arbeitest? Auf der multisort manual-Seite hats ja zb. noch rekursive array_multisorts...
Low-Tech und Runtime-Mässig könntest du das Prob wohl mit eval lösen:
also mal ne frage... verstehe ich das richtig:
du willst das erste array sortieren, und in den anderen arrays sollen die gleichen vertauschungen vorgenommen werden, oder?
da könntest du dir natürlich einen eigenen algorithmus basteln...