今日の人気記事

  1. 配列を文字列に変換 - implode()
  2. PHPの設定内容を確認 - phpinfo()
  3. 数値の小数点以下を処理(四捨五入・切り捨て・切り上げ) - round関数、floor関数、ceil関数
  4. 簡単なPHPスクリプトを動かしてみよう
  5. if、else、elseif - 条件分岐

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

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