array_Multisort()配列内のキー値に基づいて配列をソートする
2036 ワード
##array_multisort(array1,sorting order,sorting type,array2…)
Array 1:必ず選択し、配列を規定し、ソートする配列を指定します.sorting order:オプションで、配列順序を指定します.-SORT_ASC-デフォルト.昇順で並べ替えます(A-Z).-SORT_DESC-降順で配列(Z-A);sorting type:オプションで、ソートタイプを規定します.array 2:オプションで、配列を指定します.1つのkey値はarray 1配列の所定配列である
1つ目の使用方法:
パラメータの配列はテーブルの列として扱われ、行でソートされます.SQLのORDER BY句のような機能です.最初の配列は並べ替えられる主な配列であり,対照配列と理解できる.次の配列の行(値)を同じにすると、その配列の対応する値を照合するように並べ替えられます.
2つ目の使用方法:
3つ目の使用方法:
ここで3番目のパラメータとは、数値タイプに従ってソートされ、それに応じてSORT_STRING->文字列タイプ、SORT_LOCALE_STRING->各項目を文字列として扱い、現在の領域設定(setlocale()で変更可能)、SORT_NATURAL->各項目を文字列として処理し、natsort()のような自然なソートを使用し、SORT_FLAG_CASE->SORT_STRINGまたはSORT_NATURALを組み合わせて文字列を並べ替え、大文字と小文字を区別しない
Array 1:必ず選択し、配列を規定し、ソートする配列を指定します.sorting order:オプションで、配列順序を指定します.-SORT_ASC-デフォルト.昇順で並べ替えます(A-Z).-SORT_DESC-降順で配列(Z-A);sorting type:オプションで、ソートタイプを規定します.array 2:オプションで、配列を指定します.1つのkey値はarray 1配列の所定配列である
1つ目の使用方法:
$data = [
[
"country_id" => "SA",
"sort" => 9
],
[
"country_id" => "AE",
"sort" => 30
],
[
"country_id" => "US",
"sort" => 1
]
];
foreach ($data as $item) {
$sort[] = $item['sort'];
}
array_multisort($sort,SORT_ASC, $data);
print_r($data);
result:
Array
(
[0] => Array
(
[country_id] => US
[sort] => 1
)
[1] => Array
(
[country_id] => SA
[sort] => 9
)
[2] => Array
(
[country_id] => AE
[sort] => 30
)
)
パラメータの配列はテーブルの列として扱われ、行でソートされます.SQLのORDER BY句のような機能です.最初の配列は並べ替えられる主な配列であり,対照配列と理解できる.次の配列の行(値)を同じにすると、その配列の対応する値を照合するように並べ替えられます.
2つ目の使用方法:
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);
print_r($a);
result :
Array (
[0] => Bear
[1] => Cat
[2] => Dog
[3] => Horse
[4] => Zebra
)
3つ目の使用方法:
$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);
result:
Array (
[0] => 66
[1] => 41
[2] => 30
[3] => 30
[4] => 25
[5] => 20
[6] => 15
[7] => 7
[8] => 4
[9] => 1
)
ここで3番目のパラメータとは、数値タイプに従ってソートされ、それに応じてSORT_STRING->文字列タイプ、SORT_LOCALE_STRING->各項目を文字列として扱い、現在の領域設定(setlocale()で変更可能)、SORT_NATURAL->各項目を文字列として処理し、natsort()のような自然なソートを使用し、SORT_FLAG_CASE->SORT_STRINGまたはSORT_NATURALを組み合わせて文字列を並べ替え、大文字と小文字を区別しない