PHP

PHPで配列のソート

More than 3 years have passed since last update.


よく使うソート関数


  • sort() 値でソート

  • ksort() キーでソート

  • usort() 比較関数で条件を指定し値でソート

  • uksort() 比較関数で条件を指定しキーでソート

  • shuffle() シャッフルするランダムを使いたい場面で


あまり使わないが覚えておきたいソート関数


  • asort() キーと値を維持し、配列中の位置をソートする

  • array_multisort() 第一引数の配列の値で並べ替え、同時に第二引数の配列を第一引数のキーと同じ順番に並べ替える


逆順ソートは、rつき関数を使う。

rsort()、krsort()、arsort()


sort()、ksort()については説明不要


usort()

ユーザー定義の比較関数でソート

第2引数には関数名のほか、直接関数を書くことができます。

ここでしか比較関数を使用しない場合、直接書いた方が見やすいかもしれません。

$a = array(3, 2, 5, 6, 1);

usort($a, function($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
});


PHPマニュアル 配列のソート

http://php.net/manual/ja/array.sorting.php