> 백엔드 개발 > PHP 튜토리얼 > PHP에서 여러 열로 다차원 배열을 어떻게 정렬할 수 있나요?

PHP에서 여러 열로 다차원 배열을 어떻게 정렬할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-17 14:07:10
원래의
307명이 탐색했습니다.

How Can I Sort a Multidimensional Array by Multiple Columns in PHP?

여러 열로 다차원 배열 정렬

다차원 배열을 여러 열로 정렬하는 것은 어려운 작업일 수 있습니다. 그러나 PHP는 상대적으로 간단한 함수 배열을 제공합니다.

그러한 함수 중 하나가 array_multisort()입니다. 이 기능을 사용하면 여러 기준으로 동시에 배열을 정렬할 수 있습니다. array_multisort()를 사용하려면 먼저 정렬 열과 해당 데이터의 배열을 만들어야 합니다.

예:

<?php
$mylist = array(
    array('ID' => 1, 'title' => 'Boring Meeting', 'date_start' => '2010-07-30', 'event_type' => 'meeting', 'state' => 'new-york'),
    array('ID' => 2, 'title' => 'Find My Stapler', 'date_start' => '2010-07-22', 'event_type' => 'meeting', 'state' => 'new-york'),
    array('ID' => 3, 'title' => 'Mario Party', 'date_start' => '2010-07-22', 'event_type' => 'party', 'state' => 'new-york'),
    array('ID' => 4, 'title' => 'Duct Tape Party', 'date_start' => '2010-07-28', 'event_type' => 'party', 'state' => 'california')
);

# get a list of sort columns and their data to pass to array_multisort
$sort = array();
foreach($mylist as $k => $v) {
    $sort['state'][$k] = $v['state'];
    $sort['event_type'][$k] = $v['event_type'];
    $sort['date_start'][$k] = $v['date_start'];
}

# sort by state asc, event_type desc, and date_start asc
array_multisort($sort['state'], SORT_ASC, $sort['event_type'], SORT_DESC, $sort['date_start'], SORT_ASC, $mylist);

print_r($mylist); // print the sorted array

?php>
로그인 후 복사

PHP 5.5.0부터 다음을 사용할 수 있습니다. 다음과 같은 단순화된 구문:

<?php
array_multisort(array_column($mylist, 'state'), SORT_ASC,
                array_column($mylist, 'event_type'), SORT_DESC,
                array_column($mylist, 'date_start'), SORT_ASC,
                $mylist);
?php>
로그인 후 복사

이제 $mylist 배열은 원하는 항목의 지정된 열을 기준으로 정렬됩니다. 주문하세요.

위 내용은 PHP에서 여러 열로 다차원 배열을 어떻게 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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