array(10) {
[1019]=> array(3) { ["quantity"]=> int(0) ["revenue"]=> int(0) ["seller"]=> string(5) "Lenny" }
[1018]=> array(3) { ["quantity"]=> int(5) ["revenue"]=> int(121) ["seller"]=> string(5) "Lenny" }
[1017]=> array(3) { ["quantity"]=> int(2) ["revenue"]=> int(400) ["seller"]=> string(6) "Anette" }
[1016]=> array(3) { ["quantity"]=> int(25) ["revenue"]=> int(200) ["seller"]=> string(6) "Samuel" }
[1015]=> array(3) { ["quantity"]=> int(1) ["revenue"]=> int(300) ["seller"]=> string(6) "Samuel" }
[1014]=> array(3) { ["quantity"]=> string(2) "41" ["revenue"]=> string(5) "18409" ["seller"]=> string(6) "Samuel" }
}
Pracuję z powyższą tablicą. Ta wielowymiarowa tablica nazywa się $stats
.Trzymanie klucza indeksu tablicy podczas sortowania wielowymiarowej tablicy za pomocą PHP
Chciałbym posortować tę tablicę według ilości.
Tak, więc tablica wielodomenowa ma pierwszą tablicę 1016, a następnie 1018, 1017 i tak dalej.
Zrobiłem to poprzez:
function compare($x, $y) {
if ($x['quantity'] == $y['quantity'])
return 0;
else if ($x['quantity'] > $y['quantity'])
return -1;
else
return 1;
}
usort($stats, 'compare');
który działa dobrze!
Ale problem polega na tym, że indeks tablicy (ID, 1019, 1018, 1017 itd.) Znika po odebraniu posortowania. Chciałbym zachować indeksy tablicy.
Jak mogę to zrobić?
Podobnie jak PHP dla takich przydatnych funkcji. – userlond
Urocza funkcja. –