Hallo Sven!
Wiederum Danke!
Leider muß ich mich weiter als Problemfall beweisen.
Ich habe verstanden,
daß die Funktion von mir frei benannt werden kann.
daß ich "beliebig" viele Funktionen für unterschiedliche Sortierungsarten schreiben darf.
daß diese Funktionen jeweils nur zwei Argumente haben dürfen und was sie mit diesen beiden treiben.
daß eine globale Variable zur Steuerung der Funktion nicht schön ist - das hast du mir bereits vor 5 Monaten erklärt, http://forum.de.selfhtml.org/archiv/2003/12/65574/#m373791 und ich habe mich immer daran gehalten, wenngleich ich seitdem leider viel mehr mit HTML denn mit PHP beschäftigt war, das ändert sich jetzt aber.
Aber aus all dem komme ich nur auf eine mir umständliche erscheinende Konstruktion:
function cmposname ($a, $b)
{
return strcmp($a['osname'], $b['osname']);
}
function cmppxhoehe ($a, $b)
{
if ($a['pxhoehe'] < $b['pxhoehe']) return -1;
if ($a['pxhoehe'] > $b['pxhoehe']) return 1;
return 0;
}
function cmppxbreite ($a, $b)
{
if ($a['pxbreite'] < $b['pxbreite']) return -1;
if ($a['pxbreite'] > $b['pxbreite']) return 1;
return 0;
}
switch ($sort)
{
case "osname":
usort($trans, "cmposname");
break;
case "pxhoehe":
usort($trans, "cmppxhoehe");
break;
case "pxbreite":
usort($trans, "cmppxbreite");
break;
}
Jetzt hat ja der Array $trans nicht nur osname, pxhoehe, pxbreite, sondern noch weitere 6 Assoziationen - halb mit numerischen, halb mit alphanumerischen Werten - und das macht doch ziemlich viel Quelltext? So wie ich das jetzt sehe, wäre es nett im Script eine Funktion zu schreiben welche die 9 Funktionen erstellt:-)
Brr, einen Geistesblitz bräuchte ich.
Danke
Viennamade