Hi,
ich hab mal 'ne Frage zu usort.
Kurz etwas Script:
$array ist ein mehrdimensionales Array.
Dieses wird in einer Tabelle ausgegeben. Nun möchte ich dem Benutzer anbieten, per Klick auf eine Überschrift die Sortierung beliebig zu ändern.
Muss ich jetzt für jede mögliche Sortierung eine eigene Funktion erstellen? Oder kann ich irgendwie geschickt mit Variablen arbeiten, die in der Funktion "vergleich" sind?
Ich habe folgendes probiert:
...und dann $x vor dem Aufruf mit usort einen Wert zugewiesen, das hat aber leider nicht geklappt.
Außerdem würde ich der Funktion gerne irgendwie mit auf den Weg geben, ob auf- oder absteigend sortiert werden soll.
Gibt's da einen Trick oder brauche ich tatsächlich pro möglicher Sortierung eine eigene Funktion?
Ich muss dazu sagen, dass ich noch nie mit Funktionen in PHP gearbeitet habe.
Gruß,
Dennis
ich hab mal 'ne Frage zu usort.
Kurz etwas Script:
PHP-Code:
function vergleich($wert_a, $wert_b)
{
$a = $wert_a[5];
$b = $wert_b[5];
if ($a == $b) {
return 0;
}
return ($a < $b) ? +1 : -1;
}
usort($array,'vergleich');
Dieses wird in einer Tabelle ausgegeben. Nun möchte ich dem Benutzer anbieten, per Klick auf eine Überschrift die Sortierung beliebig zu ändern.
Muss ich jetzt für jede mögliche Sortierung eine eigene Funktion erstellen? Oder kann ich irgendwie geschickt mit Variablen arbeiten, die in der Funktion "vergleich" sind?
Ich habe folgendes probiert:
PHP-Code:
function vergleich($wert_a, $wert_b)
{
$a = $wert_a[$x];
$b = $wert_b[$x];
if ($a == $b) {
return 0;
}
return ($a < $b) ? +1 : -1;
}
Außerdem würde ich der Funktion gerne irgendwie mit auf den Weg geben, ob auf- oder absteigend sortiert werden soll.
Gibt's da einen Trick oder brauche ich tatsächlich pro möglicher Sortierung eine eigene Funktion?
Ich muss dazu sagen, dass ich noch nie mit Funktionen in PHP gearbeitet habe.
Gruß,
Dennis
Kommentar