PHP - BASIC - 10. PHPの配列を扱う関数 - 6. sort関数

sort 関数は配列をソートする関数です。ソートとは並び替えという意味で、配列の要素が数値であれば小さいものから順に並び替えたり、配列の要素が文字列であれば辞書順で並び替えたりすることができます。ここでは次のプログラム( arr5.php )を作成してみましょう。

<?php
$array = ["Betty", "Carol", "Andy"];
sort($array);
print_r($array);

sort 関数は引数にソートの対象とする配列を指定します。上記の場合は引数に $array 変数を指定しているので $array 変数に代入されている ["Betty", "Carol", "Andy"] 配列の要素が辞書順にソートされます。その結果 $array 配列の中身は ["Andy", "Betty", "Carol"] の順に置き換わります。ここでは sort 関数は並び替えた配列を戻り値で返さない点にも注意しましょう。 sort 関数は引数で受け取った配列変数そのものをソートします。 sort 関数の戻り値はソート結果を返却します。ソートに成功した場合は true 、 失敗した場合は false を返却です。

sort 関数は引数に整数値や文字列など配列でないデータを受け取った場合、戻り値に false を返します、この場合、標準でWarningメッセージも出力されます。

それでは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php arr5.php
Array
(
    [0] => Andy
    [1] => Betty
    [2] => Carol
)

実行結果から $array 変数の要素が辞書順(昇順)でソートされているのがわかります。また並び順を昇順ではなく降順で行うには rsort 関数を使います。さきほどのプログラム( arr5.php )を修正してみましょう。

<?php
$array = ["Betty", "Carol", "Andy"];
rsort($array);
print_r($array);

それでは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php arr5.php
Array
(
    [0] => Carol
    [1] => Betty
    [2] => Andy
)

実行結果から $array 変数の要素が辞書順(降順)でソートされているのがわかります。

まとめ

  • sort — 配列をソートする
  • 引数
    • ソートの対象となる配列
  • 戻り値
    • 並び替えに成功した場合 true 失敗した場合 false