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

PHP에서 지정된 열을 기준으로 다차원 배열을 정렬하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-29 22:39:33406검색

How to Sort a Multidimensional Array by a Specified Column in PHP?

PHP에서 지정된 열을 기준으로 다차원 배열 정렬

PHP에서 특정 열을 기준으로 다차원 배열을 정렬하려면 내장된- PHP 함수 usort 또는 uasort. 정렬의 핵심은 배열 요소의 순서를 결정하는 사용자 정의 비교 기능을 제공하는 것입니다.

정렬을 위한 사용자 정의 비교 함수

사용자 정의 비교 기능은 두 요소를 사용합니다. 배열을 입력으로 사용하고 정수를 반환합니다.

  • 첫 번째 요소가 요소보다 "큰" 것으로 간주되는 경우 양의 정수 두 번째.
  • 첫 번째 요소가 두 번째 요소보다 "작은" 것으로 간주되는 경우 음의 정수입니다.
  • 요소가 동일한 것으로 간주되는 경우 0입니다.

단일 열로 정렬

다음이라는 다차원 배열이 있다고 가정해 보겠습니다. $data 여기서 각 요소는 여러 열이 있는 레코드를 나타냅니다. 'name' 열을 기준으로 배열을 정렬하려면 다음 코드를 사용하세요.

usort($data, function($a, $b) {
  return strcmp($a['name'], $b['name']);
});

이 사용자 정의 비교 함수는 strcmp 함수를 사용하여 값을 비교합니다. 각 요소의 'name' 열. 정렬된 배열에는 'name' 열을 기준으로 요소가 알파벳순으로 정렬됩니다.

여러 열로 정렬

여러 열로 정렬하려면 , 사용자 정의 비교 함수에 추가 매개변수를 전달합니다. 예를 들어 '번호'를 기준으로 정렬한 다음 '이름':

usort($data, function($a, $b) {
  if ($a['number'] == $b['number']) {
    return strcmp($a['name'], $b['name']);
  }
  return $a['number'] - $b['number'];
});

고급 기능

을 기준으로 정렬합니다. 다음 고급을 지정할 수도 있습니다. 기능:

  • 역 정렬: 정렬 순서를 반대로 하려면 비교 함수의 두 번째 매개변수를 SORT_DESC로 설정합니다.
  • 사용자 정의 투영: 열 값을 직접 비교할 수 없는 경우 변환할 세 번째 매개변수로 투영 함수를 제공합니다.

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

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