PHPのnatcasesort()
関数は、配列の要素を、値の大文字小文字を区別しない自然な昇順で、並べ替える組み込み関数。
キーと値の相関関係を維持したまま、ソートする。
大文字小文字を区別しないこと以外は、natsort()と同じ。
定義
論理型 natcasesort( 配列型 &$array );
パラメータ
- 配列型 &$array
並べ替える対象の配列を指定。
戻り値
論理値。
並べ替えに成功すると「TRUE」、失敗すると「FALSE」を返す。
構文
配列要素を、値の大文字小文字を区別しない自然な昇順でソート
論理値 = natcasesort( 配列 );
「配列」の要素を、値の大文字小文字を区別しない自然な昇順で、並べ替える。
例えば、「A10」と「a5」を、大文字小文字を区別せず、自然順比較の昇順で並べると、「a5,A10」になる。
サンプル
配列の要素を、値の自然な昇順でソート(文字列と整数)
<pre>
<?php
$varArray = array( "a2", "a10", "A7", "a500", "A70" );
echo "大文字小文字を区別すると、<br />";
natsort( $varArray );
print_r( $varArray );
echo "大文字小文字を区別しないと、<br />";
natcasesort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array( "a2", "a10", "A7", "a500", "A70" );
echo "大文字小文字を区別すると、<br />";
natsort( $varArray );
print_r( $varArray );
echo "大文字小文字を区別しないと、<br />";
natcasesort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
大文字小文字を区別すると、
Array
(
[2] => A7
[4] => A70
[0] => a2
[1] => a10
[3] => a500
)
大文字小文字を区別しないと、
Array
(
[0] => a2
[2] => A7
[1] => a10
[4] => A70
[3] => a500
)
Array
(
[2] => A7
[4] => A70
[0] => a2
[1] => a10
[3] => a500
)
大文字小文字を区別しないと、
Array
(
[0] => a2
[2] => A7
[1] => a10
[4] => A70
[3] => a500
)
連想配列の要素を、値の自然な昇順でソート
<pre>
<?php
$varArray = array(
"a" => "a2",
"b" => "a10",
"c" => "A7",
"d" => "a500",
"e" => "A70"
);
echo "大文字小文字を区別すると、<br />";
natsort( $varArray );
print_r( $varArray );
echo "大文字小文字を区別しないと、<br />";
natcasesort( $varArray );
print_r( $varArray );
?>
</pre>
<?php
$varArray = array(
"a" => "a2",
"b" => "a10",
"c" => "A7",
"d" => "a500",
"e" => "A70"
);
echo "大文字小文字を区別すると、<br />";
natsort( $varArray );
print_r( $varArray );
echo "大文字小文字を区別しないと、<br />";
natcasesort( $varArray );
print_r( $varArray );
?>
</pre>
↓↓↓出力結果↓↓↓
大文字小文字を区別すると、
Array
(
[c] => A7
[e] => A70
[a] => a2
[b] => a10
[d] => a500
)
大文字小文字を区別しないと、
Array
(
[a] => a2
[c] => A7
[b] => a10
[e] => A70
[d] => a500
)
Array
(
[c] => A7
[e] => A70
[a] => a2
[b] => a10
[d] => a500
)
大文字小文字を区別しないと、
Array
(
[a] => a2
[c] => A7
[b] => a10
[e] => A70
[d] => a500
)
キーと値の相関関係は、維持したままである点に、注目。