« PHP:natsort()関数・natcasesort()関数 | メイン | PHP:compact()関数 »
2005年11月27日
PHP:array_multisort()関数
array_multisort()関数は、複数の配列を同時にソートします。
array_multisort($ARRAY1, [$how1, $option1,] $ARRAY2, [$how2, $option2,] $ARRAY3…);
■$ARRAY:ソート対象の配列
■$how:ソート方法(省略可能)
SORT_ASC:昇順ソート・デフォルト
SORT_DESC:降順ソート
■$option:ソート型(省略可能)
SORT_REGULAR:通常通りに比較する
SORT_NUMERIC:数値として比較する
SORT_STRING:文字列として比較する
■array_multisort()関数の使い方
要素数が等しい複数の配列を用意して、array_multisort()関数で並び替え
↓
・1番目の配列がソートされ、2番目以降の配列も1番目の配列の並べ替え順に対応して並び替えられます。
・次に、1番目の配列で同値であった要素について、2番目以降の配列でソートします。
・3番目以降の配列でも同様の動作を繰り返します。
$ARRAY1 = array("PHP", "PHP", "perl", "FLASH", "SQL");
$ARRAY2 = array(50, 22, 26, 18, 24);
$res = array_multisort($ARRAY1, SORT_DESC, SORT_STRING, $ARRAY2, SORT_ASC, SORT_NUMERIC);
//$ARRAY1を文字列比較降順でソート($ARRAY2にもソート順を反映)
//した後、$ARRAY2を数値比較昇順でソートします。
//$resにはソートが成功した場合にはTRUE、
//失敗した場合にはFALSEが格納されます。
print_r($ARRAY1);
※上記の結果、「Array([0]=>perl [1]=>SQL [2]=>PHP [3]=>PHP [4]=>FLASH)」を出力します。
print_r($ARRAY2);
※上記の結果、「Array([0]=>26 [1]=>24 [2]=>22 [3]=>50 [4]=>18)」を出力します。
投稿者 wing : 2005年11月27日 21:58