【PHP】配列のソート(並べ替え)|ksort()・krsort()・asort()・arsort()

今回は、PHPで個人的によく使用する配列をソート(並べ替え・順序変更)する関数の例となります。
配列の要素を英数字でソート(並べ替え・順序変更)
以下は、キーと値の関係はそのままで、配列の要素を英数字でソートする関数の例です。
それぞれの関数の第1引数に、並べ替えたい配列を指定します。第2引数には、任意でソートの動作を修正するパラメータを指定できます。詳しくは、以下リンク先のsort関数のパラメータsort_flagsを参照してみてください。
キーでソート|ksort()・krsort()
以下は、配列をキー順でソートする例となり、ksort関数はキーの昇順、krsort関数はキーの降順で、配列を並べ替える関数となります。
$animals = array(
'panda02' => 'Xiang Xiang',
'panda01' => 'Sing Sing',
'monkey01' => 'Pankun',
'monkey02' => 'Jiro'
);
// キーの昇順でソートする場合
ksort( $animals );
echo '<<キーの昇順でソート>><br>';
foreach( $animals as $key => $value ){
echo $key . 'は' . $value . 'です。<br>';
}
// キーの降順でソートする場合
krsort( $animals );
echo '<<キーの降順でソート>><br>';
foreach( $animals as $key => $value ){
echo $key . 'は' . $value . 'です。<br>';
}
以下は出力結果となります。
<<キーの昇順でソート>>
monkey01はPankunです。
monkey02はJiroです。
panda01はSing Singです。
panda02はXiang Xiangです。
<<キーの降順でソート>>
panda02はXiang Xiangです。
panda01はSing Singです。
monkey02はJiroです。
monkey01はPankunです。
値でソート|asort()・arsort()
以下は、配列を値の順でソートする例となり、asort関数はキーの昇順、arsort関数はキーの降順で、配列を並べ替える関数となります。
$animals = array(
'panda02' => 'Xiang Xiang',
'panda01' => 'Sing Sing',
'monkey01' => 'Pankun',
'monkey02' => 'Jiro'
);
// 値の昇順でソートする場合
asort( $animals );
echo '<<値の昇順でソート>><br>';
foreach( $animals as $key => $value ){
echo $value . 'は' . $key . 'です。<br>';
}
// 値の降順でソートする場合
arsort( $animals );
echo '<<値の降順でソート>><br>';
foreach( $animals as $key => $value ){
echo $value . 'は' . $key . 'です。<br>';
}
以下は出力結果となります。
<<値の昇順でソート>>
Jiroはmonkey02です。
Pankunはmonkey01です。
Sing Singはpanda01です。
Xiang Xiangはpanda02です。
<<値の降順でソート>>
Xiang Xiangはpanda02です。
Sing Singはpanda01です。
Pankunはmonkey01です。
Jiroはmonkey02です。
その他の配列をソートする関数
今回紹介した関数以外にも、配列をソートする関数はたくさんあります。詳しくは参考サイトを確認してみてください。