PHP マニュアル
前のページ |  | 次のページ

# array_multisort

(PHP 4 )

array_multisort -- 複数の多次元の配列をソートする

## 説明

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 (数値として降順にソートされています)となっています。

前のページ | ホーム | 次のページ
array_merge | 上に戻る | array_pad