开发者

array sorting php

I've an array like this

Array
(

[0] => Array

        (
            [result] => Array
                (
                    [0] => Array
                        (
                            [type] => ABC
                            [id] => 123232
                            [name] => Apple

                        )

                    [1] => Array
                        (
                            [type] => DEF
                            [id] => 2323232
                            [name] => Banana

                        )

                )


            [title] => Cool
            [rank] => 2
        )

  [1] => Array
        (
            [result] => Array
                (
                    [0] => Array
                        (
                            [type] => ZX
                            [id] => 3223
                            [name] => Danny

                        )

                    [1] => Array
                        (
           开发者_如何转开发                 [type] => QWER
                            [id] => 2323232
                            [name] => Cactus

                        )

                )


            [title] => Hot
            [rank] => 1
        )


[3]..
[4]..and son on

I would like to sort by rank, is there any quick sort method in PHP to do that?


You could use usort().

The example below requires >= PHP 5.3. If you don't have this version, just pass a reference to the callback.

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


You can use the usort function:

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

$arr = /* your array */

usort($arr, "cmp");

See it

To sort on rank in descending order (question asked in comments), you just reverse the order in the compare function:

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


There are multiple ways to sort an array, see : http://php.net/manual/en/array.sorting.php

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜