여러 필드 값으로 PHP 배열 정렬
PHP에서는 여러 값이 포함된 배열을 정렬하는 것이 까다로울 수 있지만 이를 달성하기 위한 몇 가지 접근 방식이 있습니다. . 일반적인 해결책 중 하나는 array_multisort() 함수를 사용하는 것입니다.
질문에 제공된 것과 같은 배열이 있다고 가정합니다.
Array ([ [ '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()를 사용할 수 있습니다.
// Obtain a list of columns foreach ($data as $key => $row) { $return_fare[$key] = $row['return_fare']; $one_way_fare[$key] = $row['one_way_fare']; } // Sort the data with return_fare descending, one_way_fare ascending array_multisort($data, $return_fare, SORT_ASC, $one_way_fare, SORT_ASC);
이렇게 하면 배열이 정렬됩니다. return_fare의 오름차순으로, 그리고 동일한 return_fare 값 내에서는 one_way_fare의 오름차순으로 정렬됩니다.
또 다른 옵션은 여러 기준에 따라 정렬하기 위한 단순화된 구문을 제공하는 array_orderby() 함수를 사용하는 것입니다.
$sorted = array_orderby($data, 'return_fare', SORT_ASC, 'one_way_fare', SORT_ASC);
루프를 방지하려면 array_column()(PHP에서 사용 가능)을 사용할 수도 있습니다. 5.5.0 이상) 원하는 열을 추출한 다음 해당 열에 대해 array_multisort()를 사용합니다.
array_multisort( array_column($data, 'return_fare'), SORT_ASC, array_column($data, 'one_way_fare'), SORT_ASC, $data );
위 내용은 여러 필드 값으로 PHP 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!