ホームページ  >  記事  >  バックエンド開発  >  php array_multisort 配列のソートの詳細な説明と例

php array_multisort 配列のソートの詳細な説明と例

墨辰丷
墨辰丷オリジナル
2018-05-31 10:17:091427ブラウズ

この記事では主に、配列をソートするためのphp array_multisortの詳細な説明とサンプルコードを紹介します。必要な方は参考にしてください。

phpのarray_multisort()関数は、複数の配列を一度にソートするために使用できます。特定の多次元配列を 1 つ以上の次元でソートします。この記事では、array_multisort 関数の使用方法を説明します。

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

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

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

構文

array_multisort(array1,ソート順序,ソートタイプ,array2,array3...)

パラメータの説明


パラメータ 説明
配列1 必須。並べ替えるもの。
並べ替え順序

はオプションです。並べ替えの順序を指定します。可能な値:

  • SORT_ASC - デフォルト。昇順 (A から Z) に並べ替えます。

  • SORT_DESC - 降順 (Z-A) で並べ替えます。

並べ替えタイプ

オプション。並べ替えの種類を指定します。可能な値:

  • SORT_REGULAR - デフォルト。各項目を規則的な順序で配置します (標準 ASCII、タイプを変更しないでください)。

  • SORT_NUMERIC - 各項目を数値として扱います。

  • SORT_STRING - 各項目を文字列として扱います。

  • SORT_LOCALE_STRING - 現在のロケール (setlocale() で変更可能) に基づいて、各項目を文字列として処理します。

  • SORT_NATURAL - natsort() のような自然な並べ替えを使用して、各項目を文字列として扱います。

  • SORT_FLAG_CASE - SORT_STRING または SORT_NATURAL と組み合わせて (ビットごとの OR)、大文字と小文字を区別せずに文字列を並べ替えることができます。

array2 オプション。配列を指定します。
array3 オプション。配列を指定します。

戻り値

成功した場合は TRUE を返し、失敗した場合は FALSE を返します。

説明

array_multisort() 関数は、複数の配列または多次元配列をソートします。

パラメータ内の配列はテーブルの列として扱われ、行ごとに並べ替えられます。これは SQL の ORDER BY 句の機能と似ています。最初の配列は、ソートされるメインの配列です。配列内の行 (値) が同じである場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。

最初のパラメータは配列であり、後続の各パラメータは配列または次の並べ替え順序フラグのいずれかになります (並べ替えフラグはデフォルトの並べ替え順序を変更するために使用されます):

SORT_ASC - デフォルト、昇順で並べ替えます。 (A-Z)
SORT_DESC - 降順に並べ替えます。 (Z-A)

その後、並べ替えのタイプを指定できます:

SORT_REGULAR - デフォルト。各項目を規則正しい順序で並べます。
SORT_NUMERIC - 各項目を数値順に並べ替えます。
SORT_STRING - 各項目をアルファベット順に並べ替えます。

例 1:

多次元配列をソート


<?php
 $ar = array(
    array("10",11,100,100,"a"),
    array(1,2,"2",3,1)
   );
 array_multisort($ar[0], SORT_ASC,SORT_STRING,$ar[1],SORT_NUMERIC,SORT_DESC);
 var_dump($ar);
?>


この例では、ソート後、最初の配列は "10"、100、100、11、"a" になります (文字列を昇順に並べ替えます)。 2 番目の配列には、1、3、「2」、2、1 (降順の数値として扱われます) が含まれます。

実行結果:


array(2) {
 [0]=> array(5) {
  [0]=> string(2) "10"
  [1]=> int(100)
  [2]=> int(100)
  [3]=> int(11)
  [4]=> string(1) "a"
 }
 [1]=> array(5) {
  [0]=> int(1)
  [1]=> int(3)
  [2]=> string(1) "2"
  [3]=> int(2)
  [4]=> int(1)
 }
}


例 2:

大文字と小文字を区別しない並べ替え

SORT_STRING と SORT_REGULAR はどちらも大文字と小文字が区別され、大文字は小文字よりも前に並べ替えられます。 。
大文字と小文字を区別しない並べ替えを実行するには、元の配列の小文字のコピーに従って並べ替えます。


<?php
 $array=array(&#39;Alpha&#39;,&#39;atomic&#39;,&#39;Beta&#39;,&#39;bank&#39;);
 $array_lowercase=array_map(&#39;strtolower&#39;,$array);
 array_multisort($array_lowercase,SORT_ASC,SORT_STRING,$array);
 print_r($array);
?>


操作結果:


Array
(
  [0] => Alpha
  [1] => atomic
  [2] => bank
  [3] => Beta
)


以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。


関連する推奨事項:

PHPでWord文書を読む方法

PHPで画像のメインカラーを取得する方法

PHPでオンライン電卓機能を実装する方法


以上がphp array_multisort 配列のソートの詳細な説明と例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。