今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  2. PHPの設定(パスを通す)と動作確認 - Windows10
  3. 日本語環境の設定 - mbstring
  4. エスケープシーケンス - 特殊文字

配列を要素のキーでソート - 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で逆順ソート)、数値の逆順にソートされています。

配列 の人気記事

  1. PHP関数リファレンス
  2. 配列の要素を逆順に - array_reverse()
  3. 配列 異なる値を持つ要素を取得 - array_diff()、array_diff_assoc()
  4. 配列ポインタを先頭・最後に - reset()、end()
  5. 配列のキーをランダムに抽出 - array_rand()
  6. 2つの配列から連想配列を作成 - array_combine()

関連記事(一部広告含む)