PHPでは、2 D配列のフィールドに基づいてソートされます.
2904 ワード
2 D配列をフィールドに基づいてソートするには、配列のループコントラストで実現するのが一般的です.ここではPHP関数によって直接実現されるより簡単な方法を紹介する.array_Multisort():複数の配列を一度にソートしたり、1次元または多次元に基づいて多次元配列をソートしたりすることができます.詳しくはPHPマニュアルを参照してください.https://www.php.net/manual/zh/function.array-multisort.php
例:
1、単一フィールドのソート:
$data = [
['id' => 1, 'name' => ' ', 'sort' => 60],
['id' => 2, 'name' => ' ', 'sort' => 40],
['id' => 3, 'name' => ' ', 'sort' => 80],
];
//
$sort = array_column($data, 'sort');
// sort SORT_ASC SORT_DESC
array_multisort($sort, SORT_ASC, $data);
//
var_dump($data);
2、複数のフィールドの並べ替え:
$data = [
['id' => 1, 'name' => ' ', 'sort' => 60],
['id' => 2, 'name' => ' ', 'sort' => 60],
['id' => 3, 'name' => ' ', 'sort' => 80],
];
//
$sort = array_column($data, 'sort');
$name = array_column($data, 'name');
// sort , name
array_multisort($sort, SORT_ASC, $name, SORT_DESC, $data);
//
var_dump($data);