0

私はこの配列を持っており、最初に「key_1」でソートし、(「key_1」に類似の値が複数ある場合)「key_2」でソートする必要があります...どうすればこれを行うことができますか?

ありがとう!

$my_array[0]['key_1'] = 2;
$my_array[0]['key_2'] = 300;

$my_array[1]['key_1'] = 2;
$my_array[1]['key_2'] = 100;

$my_array[2]['key_1'] = 1;
$my_array[2]['key_2'] = 100;
4

1 に答える 1

1

これが簡単な解決策です:

function my_sort($a, $b) {
  if ($a['key_1']==$b['key_1']) {
    if ($a['key_2']==$b['key_2']) {
      return 0;
    } else {
      return ($a['key_2']>$b['key_2']) ? 1 : -1;
    }
  } else {
    return ($a['key_1']>$b['key_1']) ? 1 : -1;
  }
}

usort($my_array, 'my_sort');
于 2012-04-06T21:04:17.147 に答える