Hallo,
als erstes ich habe mit PHP seit ca. 4 Tagen zu tun von daher bitte nicht gleich erschlagen, wenn mein Wissen defizitär ist.
Folgender Hintergrund, ich habe ein Multidimensionales Array, welches ich mit folgenden Funktionen sortieren kann:
Nach Preis
function sortieren_preis($wert_a, $wert_b)
{
$a = $wert_a[5];
$b = $wert_b[5];
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : +1;
}
Nach Lieferbarkeit
function sortieren_lieferbar($wert_a, $wert_b)
{
$a = $wert_a[8];
$b = $wert_b[8];
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : +1;
}
Beide funktionieren soweit richtig. Das Problem ist, wenn ich nach Lieferbarkeit sortiere sind mehrere Artikel "Lieferbar", dann möchte ich gerne eine sortieren nach Preis.
Beispiel aus:
Lieferant 1; Lieferbar "Sofort"; Preis 13,76;
Lieferant 2; Lieferbar "Sofort"; Preis 18,66;
Lieferant 3; Lieferbar "Sofort"; Preis 14,76;
Lieferant 4; Lieferbar "Morgen"; Preis 13,77;
Lieferant 5; Lieferbar "Morgen"; Preis 13,76;
wird:
Lieferant 1; Lieferbar "Sofort"; Preis 13,76;
Lieferant 3; Lieferbar "Sofort"; Preis 14,76;
Lieferant 2; Lieferbar "Sofort"; Preis 18,66;
Lieferant 5; Lieferbar "Morgen"; Preis 13,76;
Lieferant 4; Lieferbar "Morgen"; Preis 13,77;
Meine Idee war zuerst nach Preis und dann nach Lieferbarkeit zu sortieren:
usort($result, 'sortieren_preis');
usort($result, 'sortieren_lieferbar');
Das führte aber nicht zu einem zufriedenstellenden Ergebnis. Wo haben ich den Gedankenfehler?
Nina