0

重複の可能性:
phpは配列をサブ値でソートします

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

Array => (
    [0] => Array(
        [a] => abcd,
        [b] => 22
    ),
    [1] => Array(
        [a] => defg,
        [b] => 12
    ),
    .....
)

bこの配列を内部配列のインデックスの値で並べ替えたいと思います。降順で並べ替える場合は、例は問題ありません。しかし、昇順で並べ替えたい場合、期待される出力は次のようになります。

    Array => (
    [0] => Array(
        [a] => defg,
        [b] => 12
    ),
    [1] => Array(
        [a] => abcd,
        [b] => 22
    ),
    .....
)

ありがとう!

4

1 に答える 1

1

この機能を試すことができます:

bool uasort ( array &$array , callback $cmp_function )

これが私のコードです:

$arr = array(
    0 => array('a' => 'abcd','b' => 22),
        1 => array('a' => 'defg','b' => 12),
    2 => array('a' => 'dfdf','b' => 32)
);

uasort($arr,'mul_sort');

function mul_sort($a,$b)
{
    if($a['b'] > $b['b'])

        return 1;//here,if you return -1,return 1 below,the result will be descending 

    if($a['b'] < $b['b'])

        return -1;

    if($a['b'] == $b['b'])

        return 0;
}

print_r($arr);
output:
---------- PHP ----------
Array
(
    [1] => Array
        (
            [a] => defg
            [b] => 12
        )

    [0] => Array
        (
            [a] => abcd
            [b] => 22
        )

    [2] => Array
        (
            [a] => dfdf
            [b] => 32
        )

)
于 2012-07-02T07:30:03.217 に答える