ホームページ  >  記事  >  バックエンド開発  >  PHP配列関数array_multisort()の使用法と分析例

PHP配列関数array_multisort()の使用法と分析例

墨辰丷
墨辰丷オリジナル
2018-06-04 10:39:512252ブラウズ

この記事では、主に PHP 配列関数 array_multisort() の使用法を紹介し、配列ソートの過程での例、定義、および使用スキルを使用して array_multisort 関数の機能を詳細に分析します。 2 次元配列内のキーの値のソートについて、この問題についてはここで説明します。 array_multisort() 関数を使用できます。 array_multisort() 関数は、複数の配列または多次元配列をソートします。


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

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

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

SORT_DESC - 降順で並べ替えます。 (Z-A)
その後、並べ替えのタイプを指定できます:

SORT_REGULAR - デフォルト。各項目を規則正しい順序で並べます。

SORT_NUMERIC - 各項目を数値順に並べ替えます。 SORT_STRING - 各項目をアルファベット順に並べ替えます。

構文: array_multisort(array1,並べ替え順序,並べ替えの種類,array2,array3...)

array1: 必須。入力配列を指定します。

並べ替え順序: オプション。並べ替えの順序を指定します。可能な値は SORT_ASC と SORT_DESC です。 並べ替えタイプ: オプション。並べ替えの種類を指定します。可能な値は、SORT_REGULAR、SORT_NUMERIC、および SORT_STRING です。
array2: オプション。入力配列を指定します。
配列3: オプション。入力配列を指定します。

文字列キー名は保持されますが、数値キーは 0 から始まり 1 ずつ増加して再インデックスされます。並べ替え順序と並べ替えの種類は、各配列の後に設定できます。設定されていない場合、各配列パラメーターはデフォルト値を使用します。

以下は例です:

<?php
 $arr = &#39;&#39;;
 echo &#39;二维数组如下:&#39;.&#39;<br / >&#39;;
 for($i=0; $i<=5; $i++)
 {
 $arr[$i][&#39;val&#39;] = mt_rand(1, 100);
 $arr[$i][&#39;num&#39;] = mt_rand(1, 100);
 }
 echo &#39;<pre class="brush:php;toolbar:false">&#39;;
 print_r($arr);
 echo &#39;
'; echo '从二维数组中抽出键为val,单独成另一个数组:'.'
'; foreach ($arr as $key => $row) { $vals[$key] = $row['val']; $nums[$key] = $row['num']; } echo '
&#39;;
 print_r($vals);
 echo &#39;
'; echo '对其进行排序:'.'
'; array_multisort($vals, SORT_ASC, $arr); echo '
&#39;;
 print_r($vals);
 echo &#39;
'; ?>

操作結果:

二维数组如下:
Array
(
  [0] => Array
    (
      [val] => 46
      [num] => 49
    )
  [1] => Array
    (
      [val] => 8
      [num] => 24
    )
  [2] => Array
    (
      [val] => 37
      [num] => 3
    )
  [3] => Array
    (
      [val] => 32
      [num] => 35
    )
  [4] => Array
    (
      [val] => 19
      [num] => 38
    )
  [5] => Array
    (
      [val] => 30
      [num] => 37
    )
)

 
从二维数组中抽出键为val,单独成另一个数组:

Array
(
  [0] => 46
  [1] => 8
  [2] => 37
  [3] => 32
  [4] => 19
  [5] => 30
)

对其进行排序:

Array
(
  [0] => 8
  [1] => 19
  [2] => 30
  [3] => 32
  [4] => 37
  [5] => 46
)

概要: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

phpnumber_format関数を使用して小数点を切り取る方法と分析例

phppdoを使用してsqlite3に接続する設定方法の詳細な説明

phpファイルによる実装 頭判断 フォーマット方法

以上がPHP配列関数array_multisort()の使用法と分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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