数组排序php


array sorting php

我有一个类似的数组

大堆([0]=>数组([result]=>数组([0]=>数组([类型]=>ABC[id]=>123232[名称]=>苹果)[1] =>阵列([类型]=>DEF[id]=>2323232[name]=>香蕉))[title]=>酷[排名]=>2)[1] =>阵列([result]=>数组([0]=>数组([类型]=>ZX[id]=>3223[name]=>丹尼)[1] =>阵列([类型]=>QWER[id]=>2323232[name]=>仙人掌))[title]=>热门[rank]=>1)[3] 。。[4] 。。和儿子

我想按排名排序,PHP中有什么快速排序方法可以做到这一点吗?

您可以使用usort()

下面的示例需要>=PHP 5.3。如果您没有这个版本,只需传递一个对回调的引用。

usort($array, function($a, $b) {
   return $a['rank'] - $b['rank'];
}

您可以使用usort函数:

function cmp($a, $b) {
    return $a['rank'] - $b['rank'];
}
$arr = /* your array */
usort($arr, "cmp");

查看

要按降序排序(在评论中提出的问题),只需在比较函数中颠倒顺序:

function cmp($a, $b) {
    return $b['rank'] - $a['rank'];
           ^^           ^^
}

有多种方法可以对数组进行排序,请参阅:http://php.net/manual/en/array.sorting.php