PHPのksort()
関数は、配列の要素を、キーの昇順で、並べ替える組み込み関数。
定義
論理型 ksort( 配列型 &$array[, 数値型 $sort_flags] );
パラメータ
- 配列型 &$array
並べ替える対象の配列を指定。
- 数値型 $sort_flags
オプション。
並べ替える際の、型の取り扱いに関するフラグ。
- SORT_REGULAR: 型変換をしない、通常の比較。
- SORT_NUMERIC: 数値として比較。
- SORT_STRING: 文字列として比較。
- SORT_LOCALE_STRING: ロカール環境に基づいた文字列比較。
- SORT_NATURAL: 自然順比較。例えば、「a10」と「a5」を自然な昇順で並べると「a5,a10」になる。PHP5.4.0で追加されたパラメータ。
- SORT_FLAG_CASE: 大文字、小文字を区別しない、文字列比較。「SORT_STRING」や「SORT_NATURAL」と、
|
で組み合わせて使う。PHP5.4.0で追加されたパラメータ。
戻り値
論理値。
並べ替えに成功すると「TRUE」、失敗すると「FALSE」を返す。
構文
配列要素を、キーの昇順でソート
論理値 = ksort( 配列 );
「配列」の要素を、キーの昇順で、並べ替える。
サンプル
連想配列の要素を、キーの昇順でソート
<pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[black] => 黒
[blue] => 青
[green] => 緑
[red] => 赤
[white] => 白
)
(
[black] => 黒
[blue] => 青
[green] => 緑
[red] => 赤
[white] => 白
)
連想配列の要素を、キーの昇順でソート(大文字・小文字を区別)
<pre>
<?php
$varArray = array(
"White" => "白",
"Black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"White" => "白",
"Black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[Black] => 黒
[White] => 白
[blue] => 青
[green] => 緑
[red] => 赤
)
(
[Black] => 黒
[White] => 白
[blue] => 青
[green] => 緑
[red] => 赤
)
連想配列の要素を、キーの昇順でソート(大文字・小文字を区別しない)
<pre>
<?php
$varArray = array(
"White" => "白",
"Black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray, SORT_STRING | SORT_FLAG_CASE );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"White" => "白",
"Black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
ksort( $varArray, SORT_STRING | SORT_FLAG_CASE );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[Black] => 黒
[blue] => 青
[green] => 緑
[red] => 赤
[White] => 白
)
(
[Black] => 黒
[blue] => 青
[green] => 緑
[red] => 赤
[White] => 白
)
多次元配列の要素を、キーの昇順でソート
<pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
ksort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[english] => Array
(
[0] => Red
[1] => Blue
[2] => Green
)
[hiragana] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
[kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[katakana] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
)
(
[english] => Array
(
[0] => Red
[1] => Blue
[2] => Green
)
[hiragana] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
[kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[katakana] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
)