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" }
}
上記のアレイを使用しています。この多次元配列はと呼ばれ$stats
ます。
この配列を数量で並べ替えたいと思います。
そのため、multidim配列には、最初の配列1016、次に1018、1017などがあります。
私はこれを次のように行いました:
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');
これは問題なく動作します!
ただし、問題は、ヘッド配列インデックス(ID、1019、1018、1017など)がソートされると消えることです。配列のインデックスを保持したいと思います。
これどうやってするの?