(PHP 3 = 3.0.3, PHP 4)
この関数は、ユーザー定義の比較関数により配列をその値でソートします。 ソートしたい配列を複雑な基準でソートする必要がある場合、 この関数を使用するべきです。
比較関数は、最初の引数が2番目の引数より小さいか、等しいか、大きい 場合に、それぞれゼロ未満、ゼロに等しい、ゼロより大きい整数を返す 必要があります。2つのメンバーの比較結果が等しいとなった場合、 ソートされた配列の順番は定義されません。
比較関数としてあるオブジェクトのメンバー関数を使用することも可能です。 以下の例3を参照下さい。
例 1 usort() の例
この例は以下を表示します:
注意 もちろん、このような簡単な例では rsort() 関数 の方がより適当です。
例 2多次元配列を使用する usort() の例
多次元配列をソートする際には、$a と $b は配列の最初のインデックス への参照を保持していまY。
この例の出力は以下となります。
例 3 usort() でオブジェクトのメンバ関数を使用する例
この例の出力は以下のようになります。
(Solarisシステムのような)いくつかのCライブラリに含まれる quicksort関数は、比較関数が適当な値を返さない場合にPHPをクラッ シュさせる可能性があります。
uasort(), uksort(), sort(), asort(), arsort(), ksort(), natsort(), rsort() も参照下さい。