1

Possible Duplicate:
How do I sort a multidimensional array in php

I have an array like:

Array
(
    [0] => Array
        (
            [lop] => 7A1
            [tongdiem] => 4
        )

    [1] => Array
        (
            [lop] => 7A2
            [tongdiem] => 5
        )

    [2] => Array
        (
            [lop] => 7A3
            [tongdiem] => 6
        )

    [3] => Array
        (
            [lop] => 7A4
            [tongdiem] => 30
        )

    [4] => Array
        (
            [lop] => 7A5
            [tongdiem] => 21
        )

)

And I need sort [tongdiem] ASC, but not change array key, this like:

Array
(
    [0] => Array
        (
            [lop] => 7A1
            [tongdiem] => 4
        )

    [1] => Array
        (
            [lop] => 7A2
            [tongdiem] => 5
        )

    [2] => Array
        (
            [lop] => 7A3
            [tongdiem] => 6
        )

    [3] => Array
        (
            [lop] => 7A5
            [tongdiem] => 21
        )

    [4] => Array
        (
            [lop] => 7A4
            [tongdiem] => 30
        )

)

I have tried asort, some php array build-in function, but not working.

I need sort array with [tongdiem] value ASC, but not change array key.

How do I do?

Community
  • 1
  • 1
Louis.CLast
  • 394
  • 1
  • 2
  • 15

1 Answers1

2

http://php.net/manual/en/function.usort.php

function cmp($a, $b) {
    if ($a['tongdiem'] == $b['tongdiem']) {
        return 0;
    }
    return ($a['tongdiem'] < $b['tongdiem']) ? -1 : 1;
}
usort($array, "cmp");
mychalvlcek
  • 3,801
  • 1
  • 17
  • 34