PHPでsort(),rsort()関数を使用しインデックス付き配列を昇順・降順で並び替えてみます。
sort()関数を使用することで、インデックス付き配列の要素を昇順で並べ替えることができます。
一方、rsort()関数を使用することで、インデックス付き配列の要素を降順で並べ替えることができます。
なお、sort(),rsort()関数ともに、文字の場合はアルファベット順、数字の場合は数値となります。
■環境
・Windows10
・WampServer Version 3.2.3 64bit
・PHP Version 7.3.21
■sort()関数を使用しインデックス付き配列を昇順で並び替える
では、早速sort()関数を使用しインデックス付き配列を昇順で並び替えてみます。
■コード
<?php
$character_test = array("A","C","D","B","E");
sort($character_test);
print_r($character_test);
?>
今回はcharacter_testという変数を定義し、その中にarray()を使用し配列を作成し、要素を入れます。今回の要素はアルファベットで、アルファベット順ではなくバラバラに入れます。
入れた後に、sort()関数を使用し、character_testという変数の中に格納した配列を昇順で並び替えます。
並び替えた後のcharacter_testという変数の情報をprint_r()関数で解りやすく出力してみます。
■実行
では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。
Array (
[0] => A
[1] => B
[2] => C
[3] => D
[4] => E
)
実行してみると、character_testという変数の中の情報を出力することができました。出力した情報を確認すると、配列の中にバラバラに入れたはずのアルファベットが、sort()関数を使用したことにより、昇順で並び替わっていることがわかります。
■日本語の場合
ここで実験してみます。配列の中にバラバラに日本語を入れてみると、どうなるのでしょうか。
■コード
<?php
$japanese_test = array("い",お","う","え","あ");
sort($japanese_test);
print_r($japanese_test);
?>
変数の中の配列には、「あいうえお」をバラバラに入れています。
■実行
では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。
Array ( [0] => あ [1] => い [2] => う [3] => え [4] => お )
実行させてみると、変数の中の配列が、あいうえお順に並び替えられて出力されることが確認できました。
■rsort()関数を使用しインデックス付き配列を降順で並び替える
では、次にrsort()関数を使用しインデックス付き配列を降順で並び替えてみます。
■コード
<?php
$numbers_test = array(5,10,24,32,46,50);
rsort($numbers_test);
print_r($numbers_test);
?>
今回はnumbers_testという変数を定義し、その中にarray()を使用し配列を作成し、要素を入れます。今回の要素は数値で「昇順」に数値を入れてみます。
入れた後に、rsort()関数を使用し、numbers_testという変数の中に格納した配列を降順で並び替えます。
並び替えた後のcharacter_testという変数の情報をprint_r()関数で解りやすく出力してみます。
■実行
では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。
Array (
[0] => 50
[1] => 46
[2] => 32
[3] => 24
[4] => 10
[5] => 5
)
実行してみると、school_setという変数の中の情報を出力することができました。出力した情報を確認すると、配列の中に入れた数値は昇順だったはずですが、rsort()関数を使用したことにより、降順で並び替わっていることがわかります。
■日本語の場合
先ほど行った実験と同じようなことをしてみます。
■コード
<?php
$japanese_test = array("い",お","う","え","あ");
rsort($japanese_test);
print_r($japanese_test);
?>
変数の中の配列には、「あいうえお」をバラバラに入れています。
■実行
では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。
Array ( [0] => お [1] => え [2] => う [3] => い [4] => あ )
実行させてみると、変数の中の配列が、あいうえお順の逆に並び替えられて出力されることが確認できました。
コメント