今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 簡単なPHPスクリプトを動かしてみよう
  3. ファイルから1行ずつ読み込む - fgets()
  4. ユニークなファイル名の一時ファイルを作成 - tempnam()
  5. ヒアドキュメント

配列を要素のキーでソート - 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. 配列の値に数値インデックスを付ける - array_values()
  2. 配列のキーを大文字 / 小文字に変更 - array_change_key_case()
  3. 配列の要素を逆順に - array_reverse()
  4. 配列の要素をシャッフル - shuffle()

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