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