>백엔드 개발 >PHP 튜토리얼 >여러 필드로 다차원 PHP 배열을 정렬하려면 어떻게 해야 합니까?

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

DDD
DDD원래의
2024-11-22 05:53:14970검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.