1

重複の可能性:
phpで多次元配列を並べ替えるにはどうすればよいですか

私は次のような配列を持っています:

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
        )

)

そして、[tongdiem] ASCを並べ替える必要がありますが、次のように配列キーを変更する必要はありません。

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
        )

)

いくつかのphp配列組み込み関数を試しましたが、機能しません。

[tongdiem]値がASCの配列を並べ替える必要がありますが、配列キーを変更する必要はありません。

私はどのように行いますか?

4

1 に答える 1

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");
于 2012-12-19T19:18:20.880 に答える