여러 필드로 다차원 PHP 배열을 정렬하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-11-22 05:53:14
원래의
900명이 탐색했습니다.

How Can I Sort a Multidimensional PHP Array by Multiple Fields?

여러 필드 값으로 다차원 배열 정렬

PHP에서는 array_multisort()를 사용하여 다차원 배열을 여러 필드 값으로 정렬할 수 있습니다.

다음 사항을 고려하세요. array:

$data = [
    [
        "destination" => "Sydney",
        "airlines" => "airline_1",
        "one_way_fare" => 100,
        "return_fare" => 300
    ],
    [
        "destination" => "Sydney",
        "airlines" => "airline_2",
        "one_way_fare" => 150,
        "return_fare" => 350
    ],
    [
        "destination" => "Sydney",
        "airlines" => "airline_3",
        "one_way_fare" => 180,
        "return_fare" => 380
    ]
];
로그인 후 복사

이 배열을 return_fare를 기준으로 오름차순으로, one_way_fare를 기준으로 오름차순으로 정렬하려면 array_multisort():

// Extract specific fields into individual arrays
$return_fare = array_column($data, 'return_fare');
$one_way_fare = array_column($data, 'one_way_fare');

// Sort arrays using multiple criteria
array_multisort($return_fare, SORT_ASC, $one_way_fare, SORT_ASC, $data);

// Print sorted array
print_r($data);
로그인 후 복사

대안을 사용하세요. 메서드:

  • array_orderby() 함수: 간결한 솔루션을 위해 array_multisort() 주위에 래퍼를 제공하는 array_orderby() 함수 사용을 고려해 보세요.
  • **array_column()과 array_multisort()**: 배열에 대한 반복을 방지하려면, 정렬하기 전에 array_column()`을 사용하여 특정 필드 값을 추출하세요.
array_multisort(array_column($data, 'return_fare'), SORT_ASC,
                array_column($data, 'one_way_fare'), SORT_ASC,
                $data);
로그인 후 복사

위 내용은 여러 필드로 다차원 PHP 배열을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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