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" }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的数组.调用这个多维数组$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');
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好!
但问题是头部数组索引(ID,1019,1018,1017等)在进行排序时会消失.我想保留数组索引.
我怎样才能做到这一点?
Bab*_*aba 93
我想你需要的是uasort-
使用用户定义的比较函数对数组进行排序并维护索引关联
例
uasort($stats, 'compare');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23799 次 |
| 最近记录: |