PHP array_multisort()関数

PHP Array Reference完全な PHP Array リファレンスマニュアル

例

昇順に並べ替えた配列を返します:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
?>

例を実行 »

定義と使用法

array_multisort() 関数はソートされた配列を返します。1つまたは複数の配列を入力できます。この関数は最初の配列をソートし、次に他の配列をソートします。2つ以上の値が同じ場合は、次の配列をソートします。

注記:文字列のキー名は保持されますが、数値のキー名は 0 から始まり 1 ずつ増加するように再インデックスされます。

注記:各配列の後にソート順とソートタイプのパラメータを設定できます。設定しない場合、各配列パラメータはデフォルト値を使用します。


構文

array_multisort(array1,sorting order,sorting type,array2,array3...)

パラメータ 説明
array1 必須。配列を指定します。
sorting order オプション。並べ替え順序を指定します。指定可能な値:
  • SORT_ASC - デフォルト。昇順に並べ替えます (A-Z)。
  • SORT_DESC - 降順に並べ替えます (Z-A)。
sorting type オプション。ソートタイプを指定します。指定可能な値:
  • SORT_REGULAR - デフォルト。各項目を通常の順序で並べ替えます(Standard ASCII、型を変更しません)。
  • SORT_NUMERIC - 各項目を数値として扱います。
  • SORT_STRING - 各項目を文字列として扱います。
  • SORT_LOCALE_STRING - 各項目を文字列として扱い、現在のロケール設定に基づきます(setlocale()変更できます)。
  • SORT_NATURAL - 各項目を文字列として扱い、以下と同様のnatsort()自然順序で並べ替えます。
  • SORT_FLAG_CASE - (ビットごとの OR で)SORT_STRING または SORT_NATURAL と組み合わせて、大文字と小文字を区別せずに文字列をソートできます。
array2 オプション。配列を指定します。
array3 オプション。配列を指定します。

技術詳細

戻り値: 成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
PHP バージョン: 4+
更新履歴: ソートタイプ SORT_NATURAL と SORT_FLAG_CASE は PHP 5.4 で追加されました。

ソートタイプ SORT_LOCALE_STRING は PHP 5.3 で追加されました。


その他の例

例 1

昇順に並べ替えた配列を返します:

<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

例を実行 »

例 2

2つの値が同じ場合のソート方法:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

例を実行 »

例 3

ソートパラメータを使用する:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC,$a2,SORT_DESC);
print_r($a1);
print_r($a2);
?>

例を実行 »

例 4

2つの配列をマージし、数値の降順に並べ替えます:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

例を実行 »


PHP Array Reference完全な PHP Array リファレンスマニュアル その他の拡張