配列を要素の値でソート - sort()、rsort()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、配列の要素をソートするsort関数、逆順ソートするrsort関数を紹介します。
sort関数
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
指定した配列の要素をソートします。
引数 $array ソートする配列を指定します。 参照渡し(&が付いてる)なので、引数として渡した変数自体の値が変化します。 $sort_flags ソート方法に関するのフラグです。詳細は後述します。
返り値
配列のソートに成功すると true、失敗すると falseを返します。
ソートフラグ
SORT_REGULAR | 型を変更せずに、通常通り比較します。 |
SORT_NUMERIC | 数値として比較します。 |
SORT_STRING | 文字列とし比較します。 |
サンプルコード
配列の値をソートするサンプルコードです。第2引数を指定していないので、SORT_REGULARでソートします。
sort( 配列 )
<?php $array = array( 2, 1, "e", "b", "1string" ); var_dump( sort( $array ) ); print_r( $array ); ?>
実行結果です。
bool(true) Array ( [0] => 1string [1] => b [2] => e [3] => 1 [4] => 2 )
配列の値のソートに成功したので、trueが返されます。また、SORT_REGULARでソートしているので、文字列数字 → ABC順 → 数値といった順にソートされています。
rsort関数
bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
指定した配列の要素を逆順ソートします。
引数 $array 逆順ソートする配列を指定します。 参照渡し(&が付いてる)なので、引数として渡した変数自体の値が変化します。 $sort_flags ソートに関するフラグです。詳細は前述のsort関数をご覧ください。
返り値
配列のソートに成功すると true、失敗すると falseを返します。
サンプルコード
配列の要素を逆順ソートするサンプルコードです。
rsort( 配列 )
<?php $array = array( 2, 1, "e", "b", "1string" ); var_dump( rsort( $array ) ); print_r( $array ); ?>
実行結果です。
bool(true) Array ( [0] => 2 [1] => 1 [2] => e [3] => b [4] => 1string )
配列の値のソートに成功したので、trueが返されます。また、第2引数を指定していないので(SORT_REGULARで逆順ソート)、数値 → ABC → 文字列数字 といった順に逆順ソートされています。