> 백엔드 개발 > PHP 튜토리얼 > PHP에서 여러 열로 다차원 배열을 정렬하는 방법은 무엇입니까?

PHP에서 여러 열로 다차원 배열을 정렬하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-20 15:28:14
원래의
877명이 탐색했습니다.

How to Sort a Multidimensional Array by Multiple Columns in PHP?

여러 열로 다차원 배열을 정렬하는 방법

다차원 배열은 특히 여러 열을 고려해야 하는 경우 정렬하기 까다로울 수 있습니다. 다행스럽게도 PHP는 여러 기준에 따라 배열을 정렬할 수 있는 array_multisort() 함수를 제공합니다.

다음 다차원 배열을 고려해보세요.

[
    ['ID' => 1, 'title' => 'Boring Meeting', 'date_start' => '2010-07-30', 'event_type' => 'meeting', 'state' => 'new-york'],
    ['ID' => 2, 'title' => 'Find My Stapler', 'date_start' => '2010-07-22', 'event_type' => 'meeting', 'state' => 'new-york'],
    ['ID' => 3, 'title' => 'Mario Party', 'date_start' => '2010-07-22', 'event_type' => 'party', 'state' => 'new-york'],
    ['ID' => 4, 'title' => 'Duct Tape Party', 'date_start' => '2010-07-28', 'event_type' => 'party', 'state' => 'california']
]
로그인 후 복사

우리의 목표는 이것을 정렬하는 것입니다. 먼저 주별로 배열한 다음 event_type, 마지막으로 date_start별로 배열합니다. 이를 달성하기 위해 array_multisort()를 사용합니다.

$sortData = [];
foreach ($data as $key => $row) {
    $sortData['state'][$key] = $row['state'];
    $sortData['event_type'][$key] = $row['event_type'];
    $sortData['date_start'][$key] = $row['date_start'];
}

array_multisort($sortData['state'], SORT_ASC, $sortData['event_type'], SORT_ASC, $sortData['date_start'], SORT_ASC, $data);
로그인 후 복사

PHP 5.5.0 이상 버전에서는 array_column() 함수를 사용하여 정렬 프로세스를 단순화할 수 있습니다.

array_multisort(array_column($data, 'state'), SORT_ASC,
                array_column($data, 'event_type'), SORT_ASC,
                array_column($data, 'date_start'), SORT_ASC,
                $data);
로그인 후 복사

정렬 후 배열은 다음과 같습니다.

[
    ['ID' => 4, 'title' => 'Duct Tape Party', 'date_start' => '2010-07-28', 'event_type' => 'party', 'state' => 'california'],
    ['ID' => 2, 'title' => 'Find My Stapler', 'date_start' => '2010-07-22', 'event_type' => 'meeting', 'state' => 'new-york'],
    ['ID' => 1, 'title' => 'Boring Meeting', 'date_start' => '2010-07-30', 'event_type' => 'meeting', 'state' => 'new-york'],
    ['ID' => 3, 'title' => 'Mario Party', 'date_start' => '2010-07-22', 'event_type' => 'party', 'state' => 'new-york']
]
로그인 후 복사

위 내용은 PHP에서 여러 열로 다차원 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿