-1

数値で並べ替える必要のある配列のグループがあります。例:

    $a= array('Adam','maths',3,'physics',5,'sports',6)
    $b= array('Mike','maths',6,'physics',2,'sports',8)
    $c= array('Sam','maths',3,'physics',9,'sports',6)
    $all = array($a,$b,$c)

今、私は数字だけを考慮して$allをソートする必要があります。関数の並べ替えに代わるものはありますか?どうも

4

2 に答える 2

1

はい、並べ替え関数を使用しますSORT_NUMERIC

これがデモです。

于 2012-12-04T14:55:44.223 に答える
0

正常な配列構造から始めます。

$array = array(
    'Adam' => array('maths' => 3, 'physics' => 5, 'sports' => 6),
    'Mike' => array('maths' => 6, 'physics' => 2, 'sports' => 8),
    'Sam'  => array('maths' => 3, 'physics' => 9, 'sports' => 6)
);

次に、簡単なカスタムソートを実行します。

usort($array, function ($a, $b) {
    if ($a['maths'] != $b['maths']) {
        return $a['maths'] - $b['maths'];
    }
    if ($a['physics'] != $b['physics']) {
        return $a['physics'] - $b['physics'];
    }
    return $a['sports'] - $b['sports'];
});
于 2012-12-04T15:34:09.040 に答える