1


0

PHPは配列の配列をソートします

私は次の配列構造を持っています:

$list = array();
$element1 = array('start' => '10', 'end' => '15');
$element2 = array('start' => '1',  'end' => '5');
$list[] = $element1;
$list[] = $element2;

start`と end`のすべての要素は数値のみです。

start`値で $ list`をソートしたいと思います。 どうすれば効果的にできますか?

2 Answer


4


function cmp($a, $b)
{
    if ($a['start'] == $b['start']) {
        return 0;
    }
    return ($a['start'] < $b['start']) ? -1 : 1;
}

$list = array();
$element1 = array('start' => '10', 'end' => '15');
$element2 = array('start' => '1',  'end' => '5');
$list[] = $element1;
$list[] = $element2;

usort($list, "cmp");


4


次の比較関数でhttp://php.net/usort [usort]を使用できます。

function cmp($a, $b) {
    if ($a['start'] == $b['start']) {
        return $a['end'] - $b['end'];
    } else {
        return $a['start'] - $b['start'];
    }
}

この比較関数では、要素は最初に_start_値、次に_end_値の順に並べられます。