PHP

【PHPの基礎】配列の要素をソートするsort関数をマスターしよう!

今回はsort関数について説明します。

関数の基礎に関しては下記の記事を参考にしてください!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】sort関数とは

sort関数とは、配列を昇順にソートする関数です。

書き方は下記の通りです。

sort(ソートしたい配列);

【基礎編】sort関数の使い方

実際のコードを確認してみましょう!

<?php 

$array=array(3,5,0,2,1,4);

var_dump(sort($array));
echo'<br>';
print_r($array);

?>

結果は下記の通りです。

配列「$array」の要素をソートするコードになります。

配列のソートに成功したので、「true」が返されます。

また、sort関数では昇順にソートされるので、「0,1,2,3,4,5」の並びに変わります。

【基礎編】rsort関数とは

sort関数とは、配列を降順にソートする関数です。

書き方は下記の通りです。

rsort(ソートしたい配列);

【基礎編】rsort関数の使い方

実際のコードを確認してみましょう!

<?php 

$array=array(3,5,0,2,1,4);

var_dump(rsort($array));
echo'<br>';
print_r($array);

?>

結果は下記の通りです。

sort関数で確認した配列と同様のものを使用します。

配列のソートに成功したので、「true」が返されます。

また、rsort関数では降順にソートされるので、「5,4,3,2,1」の並びに変わります。

【応用編】連想配列をソートする場合

連想配列を昇順にソートする際は、asort関数を使用します!

実際の使い方を確認してみましょう!

<?php 

$array=['kokugo'=>80,'rika'=>20,'syakai'=>40,'suugaku'=>60];

var_dump(asort($array));
echo'<br>';
print_r($array);

?>

結果は下記の通りです。

ソートが成功したので、「true」が返されます。

また、asort関数によって連想配列が昇順にソートされた為、「20,40,60,80」の順番になります。

連想配列でsort関数を使用した場合

連想配列でsort関数をしようした場合はどうなるでしょうか?

先ほどの例で確認してみましょう!

<?php 

$array=['kokugo'=>80,'rika'=>20,'syakai'=>40,'suugaku'=>60];

var_dump(sort($array));
echo'<br>';
print_r($array);

?>

結果は下記の通りです。

sort関数でソートした結果が、連想配列のキーが全て数字に変わりました。

つまり、連想配列の場合にsort関数を使用するとキーがこわれる問題が発生します。

気をつけましょう!

【応用編】連想配列のキーをソートする

連想配列のキーを昇順ソートする場合は、ksort関数を使用します!

実際の使い方を確認してみましょう!

<?php 

$array=[5=>'toshio',10=>'kenta',1=>'satoshi',3=>'daiki'];

var_dump(ksort($array));
echo'<br>';
print_r($array);

?>

結果は下記の通りです。

ソートが成功したので、「true」が返されます。

また、ksort関数によって連想配列のキーが昇順にソートされた為、「1,3,5,10」の順番になります。

独学につかれた方へ

まとめ

今回説明した内容

✅sort関数による配列の要素のソート方法

✅様々なソート方法

今回は以上になります。

配列における組み込み関数のまとめは下記の記事を参考にして下さい!

>>【PHPの基礎】配列における組み込み関数のまとめ!