関数 uasort
関数 uasort は、連想配列のキーを保持しながら、
要素の昇順で配列をソートします。
関数 uasort は、ソートされた配列内の要素の順序を決定するコールバックを使用して、要素の値で配列をソートします。
この関数は配列自体を変更します。
比較関数は、比較結果に応じて、ゼロより小さい、等しい、または大きい整数を返す必要があります。
この関数は配列自体を変更します。
構文
uasort(array &$array, int $flags = SORT_REGULAR): bool
例
要素の昇順で配列をソートしてみましょう:
<?php
$arr = [
'b' => 1,
'e' => 3,
'c' => 2,
'a' => 5,
'd' => 4,
];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
コード実行結果:
[
'b' => 1,
'c' => 2,
'e' => 3,
'd' => 4,
'a' => 5,
]
例
次に、配列要素の文字数で昇順ソートしてみましょう:
<?php
$arr = [
'a' => '123',
'b' => '1',
'c' => '12345',
'd' => '12',
'e' => '1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
uasort($arr, 'func');
var_dump($arr);
?>
コード実行結果:
[
'b' => '1',
'd' => '12',
'a' => '123',
'e' => '1234',
'c' => '12345',
]
関連項目
-
関数
sort,
要素の昇順でソートします -
関数
rsort,
要素の降順でソートします -
関数
ksort,
キーの昇順でソートします -
関数
krsort,
キーの降順でソートします -
関数
asort,
キーを保持しながら要素の昇順でソートします -
関数
arsort,
キーを保持しながら要素の降順でソートします -
関数
natsort,
自然順ソートを行います -
関数
natcasesort,
大文字小文字を区別しない自然順ソートを行います -
関数
usort,
コールバック関数でソートします -
関数
uksort,
コールバック関数でキーをソートします -
関数
uasort,
コールバック関数でキーを保持しながらソートします -
関数
array_multisort,
複数の配列をソートします