(PHP 4, PHP 5, PHP 7)
uasort — ユーザー定義の比較関数で配列をソートし、連想インデックスを保持する
この関数は、インデックスとそれに対応する要素を関連づけた配列をソートします。 ソートには、ユーザー定義の比較関数を使います。
主に実際の配列の順序に意味がある連想配列をソートするためにこの関数は使用されます。
注意:
比較結果が等しくなる二つの要素があった場合、ソートした配列におけるそれらの並び順は不定となります。
成功した場合に TRUE
を、失敗した場合に FALSE
を返します。
例1 基本的な uasort() の例
<?php
// 比較用の関数
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// ソートしたい配列
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// ソートした結果の配列を表示します
uasort($array, 'cmp');
print_r($array);
?>
上の例の出力は以下となります。
Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) Array ( [d] => -9 [h] => -4 [c] => -1 [e] => 2 [g] => 3 [a] => 4 [f] => 5 [b] => 8 )