ホームページ  >  記事  >  バックエンド開発  >  キー値でソートされたPHPの2次元配列

キー値でソートされたPHPの2次元配列

不言
不言オリジナル
2018-04-20 10:58:531755ブラウズ

この記事では、キー値による PHP の 2 次元配列のソートを主に紹介します。これは、必要な友人が参照できるように共有します。出典: http://www.jb51.net/ Article/ 43787.htm

PHP のarray_multisort() を使用すると、複数の配列を一度に並べ替えたり、特定の次元または複数の次元に従って多次元配列を並べ替えたりできます。関連付けられたキー名は変更されませんが、数値キー名のインデックスが再作成されます。入力配列はテーブルの列として扱われ、最初の配列がソートされるメインの配列として行ごとにソートされます。配列内の行 (値) が同じであると比較された場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。

ただし、ソートする必要がある配列が 2 次元配列の場合は、配列のキー値に従ってソートする必要があります。たとえば、以下の 2 次元配列はソート キーに従ってソートする必要があります。 name の場合、array_multisort() は直接実装できません:




[php]

view plain

copy


$data[5] = array('volume' => 67, 'edition' => 2);  
$data[4] = array('volume' => 86, 'edition' => 1);  
$data[2] = array('volume' => 85, 'edition' => 6);  
$data[3] = array('volume' => 98, 'edition' => 2);  
$data[1] = array('volume' => 86, 'edition' => 6);  
$data[6] = array('volume' => 67, 'edition' => 7);  
// 准备要排序的数组  
foreach ($data as $k => $v) {  
  $edition[] = $v['edition'];  
}  
array_multisort($edition, SORT_ASC, $data);  
print_r($data);

  1. は次のように出力します:




[php]

プレーン表示

コピー


<span style="font-family:tahoma, arial, &#39;宋体&#39;;"><span style="font-size:14px;line-height:20px;">Array  
(  
  [0] => Array  
    (  
      [volume] => 86  
      [edition] => 1  
    )  
  
  [1] => Array  
    (  
      [volume] => 67  
      [edition] => 2  
    )  
  
  [2] => Array  
    (  
      [volume] => 98  
      [edition] => 2  
    )  
  
  [3] => Array  
    (  
      [volume] => 85  
      [edition] => 6  
    )  
  
  [4] => Array  
    (  
      [volume] => 86  
      [edition] => 6  
    )  
  
  [5] => Array  
    (  
      [volume] => 67  
      [edition] => 7  
    )  
  
</span></span>  
)

その他のケース: http://www.c nblogs.com/dragonbad/p/ 6184568.html




[html]

プレーンに表示

コピー


  1. $arr=[  
        array(  
            &#39;name&#39;=>&#39;小坏龙&#39;,  
            &#39;age&#39;=>28  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙2&#39;,  
            &#39;age&#39;=>14  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙3&#39;,  
            &#39;age&#39;=>59  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙4&#39;,  
            &#39;age&#39;=>23  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙5&#39;,  
            &#39;age&#39;=>23  
        ),  
        array(  
            &#39;name&#39;=>&#39;小坏龙6&#39;,  
            &#39;age&#39;=>21  
        ),  
    ];


array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
  其中  array_column(数组,数组中的某个键值)  从多维数组中取出某个键值的一列  返回一个一维数组;


array_multisort(数组(一维数组),排序方式(SOTR_ASC,SOTR_DESC),其他数组(可以是二维的))

相关推荐:

php二维数组去重的方法

以上がキー値でソートされたPHPの2次元配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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