ホームページ >バックエンド開発 >PHPチュートリアル >php array_multisort 配列をソートするための詳細な説明とコード例

php array_multisort 配列をソートするための詳細な説明とコード例

高洛峰
高洛峰オリジナル
2017-01-06 17:00:031406ブラウズ

php の array_multisort() 関数は、複数の配列を一度に並べ替えたり、特定の次元または複数の次元に従って多次元配列を並べ替えたりするために使用できます。この記事では、array_multisort 関数の使用方法を説明します。

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

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

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

構文

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

パラメータの説明

php array_multisort 对数组进行排序详解及实例代码

戻り値

成功した場合は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 array_multisort の詳細な説明と、配列のソートに関するサンプル コード関連の記事については、PHP 中国語 Web サイトに注目してください。

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