PHPのsort()
関数は、配列の要素を、値の昇順で、並べ替える組み込み関数。
並べ替える前のキーは保持しない。並べ替えると、新たな数値キーを割り当てる。
定義
論理型 sort( 配列型 &$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」を返す。
構文
配列要素を、値の昇順でソート
論理値 = sort( 配列 );
「配列」の要素を、値の昇順で、並べ替える。
配列要素を、値の自然な昇順でソート
論理値 = sort( 配列, SORT_NATURAL );
「配列」の要素を、値の自然順比較の昇順で、並べ替える。
例えば、「a10」と「a5」を自然順比較の昇順で並べると「a5,a10」になる。
サンプル
配列の要素を、値の昇順でソート
<pre>
<?php
$varArray = array( "White", "Black", "Red", "Blue", "Green" );
sort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array( "White", "Black", "Red", "Blue", "Green" );
sort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Black
[1] => Blue
[2] => Green
[3] => Red
[4] => White
)
(
[0] => Black
[1] => Blue
[2] => Green
[3] => Red
[4] => White
)
新たな数値キーを割り当てている点に注目。
配列の要素を、値の昇順でソート(通常と自然順)
<pre>
<?php
$varArray = array( "a2", "a10", "a7", "a500", "a70" );
echo '通常の昇順ソート<br />';
sort( $varArray );
print_r( $varArray );
echo '自然な昇順ソート<br />';
sort( $varArray, SORT_NATURAL );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array( "a2", "a10", "a7", "a500", "a70" );
echo '通常の昇順ソート<br />';
sort( $varArray );
print_r( $varArray );
echo '自然な昇順ソート<br />';
sort( $varArray, SORT_NATURAL );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
通常の昇順ソート
Array
(
[0] => a10
[1] => a2
[2] => a500
[3] => a7
[4] => a70
)
自然な昇順ソート
Array
(
[0] => a2
[1] => a7
[2] => a10
[3] => a70
[4] => a500
)
Array
(
[0] => a10
[1] => a2
[2] => a500
[3] => a7
[4] => a70
)
自然な昇順ソート
Array
(
[0] => a2
[1] => a7
[2] => a10
[3] => a70
[4] => a500
)
新たな数値キーを割り当てている点に注目。
連想配列の要素を、値の昇順でソート
<pre>
<?php
$varArray = array(
"a" => "White",
"b" => "Black",
"c" => "Red",
"d" => "Blue",
"e" => "Green"
);
sort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"a" => "White",
"b" => "Black",
"c" => "Red",
"d" => "Blue",
"e" => "Green"
);
sort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => Black
[1] => Blue
[2] => Green
[3] => Red
[4] => White
)
(
[0] => Black
[1] => Blue
[2] => Green
[3] => Red
[4] => White
)
新たな数値キーを割り当てている点に注目。