Php 用最高点对数组排序
如何对具有最高点的数组进行排序 例如:Php 用最高点对数组排序,php,arrays,sorting,Php,Arrays,Sorting,如何对具有最高点的数组进行排序 例如: $sale = array(); Array ( [UserA] => Array ( [unsuccessful] => 0 [Points] => 31 [procesing] => 4 ) [UserB] => Array ( [unsuccessful] =>
$sale = array();
Array
(
[UserA] => Array
(
[unsuccessful] => 0
[Points] => 31
[procesing] => 4
)
[UserB] => Array
(
[unsuccessful] => 4
[Points] => 200
[procesing] => 1
)
[UserC] => Array
(
[unsuccessful] => 3
[Points] => 150
[procesing] => 55
)
)
按点排序,应按顺序排列:UserB、UserC、UserA
uasort($array, function($a, $b) {
return $b['Points'] - $a['Points'];
});
and函数接受一个回调函数,该回调函数应精确指定使一个项大于或小于另一个项的原因。如果此函数返回0
,则项目相等。如果返回正数,则第二项大于第一项。否则,第一项大于第二项
uasort()。还可以查看一下以了解所有其他排序数组的方法。您可以使用php函数usort
提供自己的自定义排序逻辑。请参见您可能会发现USort很有帮助:
另外这篇文章也是如此
您可以使用返回$a['Points']-$b['Points']
简化实际比较@Stefan Gehrig,好主意,谢谢。它是$b-$a
,因为结果应该按降序排序。