配列をソートする
PHPで配列をソートする関数のご紹介です。
ソート関数を使えば配列の値をあらゆる順に並び変えることができます。
昇順でソート
sort関数を使います。
使い方としては以下のようになります。
-例文-
$number = array('3', '2', '1', '4');
sort($number);
var_dump($number);
-結果-
array(4) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "3"
[3]=>
string(1) "4"
}
配列の値を数字の順に並べ替えて出力してくれます。
アルファベットも順に並び変えることも可能です。
-例文-
$str = array('a', 'c', 'b', 'd');
sort($str);
var_dump($str);
-結果-
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
}
降順でソート
今度は降順でソートをしてみましょう。
数字の大きい順から並び替えすることができます。
-例-
$number = array('3', '2', '1', '4');
rsort($number);
var_dump($number);
-結果-
array(4) {
[0]=>
string(1) "4"
[1]=>
string(1) "3"
[2]=>
string(1) "2"
[3]=>
string(1) "1"
}
配列のキーと値の関連を維持してソート
連想配列などのキーと値の関連性を維持したままソートをする方法です。
実際のプログラムは以下のようになります。
-例-
$str = array('1'=>'a','2'=>'c','3'=>'b','4'=>'d');
asort($str);
var_dump($str);
-結果-
array(4) {
[1]=>
string(1) "a"
[3]=>
string(1) "b"
[2]=>
string(1) "c"
[4]=>
string(1) "d"
}
まとめ
以下がソート機能の特性です。
関数名、並び順、ソートする対象、関連性の順に記載してます。
sort 昇順 値 維持しない
sort 昇順 値 維持しない
asort 昇順 値 維持する
ksort 昇順 キー 維持する
rsort 降順 値 維持しない
arsort 降順 値 維持する
krsort 降順 キー 維持する