説明
bool
array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]])
array_multisort()は、複数の配列を一度に、また
は、多次元の配列をその次元の一つでソートする際に使用可能です。
この関数は、ソートの際にキーの相関を維持します。
入力の配列は、あるテーブルのカラムで行をソートする処理が行われま
す。これは、SQL ORDER BY構文と似ています。最初の配列はソートされ
る最初の配列です。その配列の行が同じだった場合は、次の入力配列で
ソートされるといったようになります。
この関数の引数の構造は、やや一般的ではありませんが、柔軟なもので
す。先頭の引数は、配列である必要があります。その後の各引数には、
配列または次のリストにあるソート用フラグのどちらかを指定すること
が可能です。
ソート方法指定フラグ:
SORT_ASC - 昇順にソート
SORT_DESC - 降順にソート
ソート型のフラグ:
SORT_REGULAR - 普通に比較
SORT_NUMERIC - 数値的に比較
SORT_STRING - 文字列として比較
各配列に同じ型のソート用フラグを二つ指定することは出来ません。
ある引数配列に適用を指定されたソート用フラグが適用されるのは、そ
の配列のみです。新しい配列引数を処理する前にデフォルトのSORT_ASC
およびSORT_REGULARにリセットします。
成功時にTRUE、失敗した場合にFALSEを返します。
例 1複数の配列をソートする $ar1 = array ("10", 100, 100, "a");
$ar2 = array (1, 3, "2", 1);
array_multisort ($ar1, $ar2); |
|
この例では、ソートの後で、最初の配列は、10,"a", 100, 100となりま
す。2番目の配列は、1, 1, "2", 3を有します。最初の配列(100および
100)の同じエントリに対応している2番目の配列のエントリは同時にソー
トされます。
例 2多次元の配列をソートする $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));
array_multisort ($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC); |
|
この例では、ソートされた後、最初の配列は10,100, 100, "a" (文字列
として昇順でソートされています)を有しており、2番目の配列は、
1, 3, "2", 1 (数値として降順にソートされています)となっています。