この記事では、キー値による PHP の 2 次元配列のソートを主に紹介します。これは、必要な友人が参照できるように共有します。出典: http://www.jb51.net/ Article/ 43787.htm
PHP のarray_multisort() を使用すると、複数の配列を一度に並べ替えたり、特定の次元または複数の次元に従って多次元配列を並べ替えたりできます。関連付けられたキー名は変更されませんが、数値キー名のインデックスが再作成されます。入力配列はテーブルの列として扱われ、最初の配列がソートされるメインの配列として行ごとにソートされます。配列内の行 (値) が同じであると比較された場合、次の入力配列内の対応する値のサイズに従って並べ替えられます。
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);
コピー
<span style="font-family:tahoma, arial, '宋体';"><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
コピー
$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age'=>59 ), array( 'name'=>'小坏龙4', 'age'=>23 ), array( 'name'=>'小坏龙5', 'age'=>23 ), array( 'name'=>'小坏龙6', 'age'=>21 ), ];
array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);
其中 array_column(数组,数组中的某个键值) 从多维数组中取出某个键值的一列 返回一个一维数组;
array_multisort(数组(一维数组),排序方式(SOTR_ASC,SOTR_DESC),其他数组(可以是二维的))
相关推荐:
以上がキー値でソートされたPHPの2次元配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。