Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

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