이 글은 주로 키 값에 따른 PHP 2차원 배열 정렬을 소개합니다. 이제 특정 참조 값이 있으므로 필요한 친구들이 참조할 수 있습니다.
출처: http://www.jb51.net/ article/ 43787.htm
array_multisort()는 PHP에서 여러 배열을 한 번에 정렬하거나 특정 차원 또는 여러 차원에 따라 다차원 배열을 정렬하는 데 사용할 수 있습니다. 연관된 키 이름은 변경되지 않은 채로 유지되지만 숫자 키 이름은 다시 색인화됩니다. 입력 배열은 테이블의 열로 처리되며 행별로 정렬됩니다. 첫 번째 배열이 정렬할 기본 배열이 됩니다. 배열의 행(값)이 동일한 것으로 비교되면 다음 입력 배열의 해당 값의 크기에 따라 정렬됩니다.
하지만 정렬해야 할 배열이 2차원 배열인 경우 배열의 키 값에 따라 정렬해야 합니다. 예를 들어 아래 2차원 배열은 정렬 키에 따라 정렬해야 합니다. 이름을 지정하면 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);
일반 보기 복사
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!