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
,因为结果应该按降序排序。