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

PHP에서 내부 배열 필드를 기준으로 다차원 배열을 정렬하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-28 22:58:15449검색

How to Sort Multidimensional Arrays by Inner Array Fields in PHP?

PHP에서 내부 배열 필드를 기준으로 다차원 배열 정렬

내부 배열의 필드를 기준으로 다차원 배열을 정렬하는 것은 작업할 때 일반적인 작업일 수 있습니다. PHP의 구조화된 데이터. 이는 데이터를 효율적으로 구성하고 검색하는 데 유용할 수 있습니다.

내부 배열의 필드 중 하나로 다차원 배열을 정렬하려면 array_column()과 함께 array_multisort() 함수를 활용할 수 있습니다. array_column() 함수는 내부 배열에서 값 열을 추출하여 정렬 가능한 1차원 배열을 생성합니다.

내부 배열의 "가격" 필드를 기준으로 다차원 배열을 정렬하는 구문

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

이 예에서 $yourArray는 정렬하려는 다차원 배열을 나타냅니다. SORT_ASC 상수는 정렬의 오름차순을 지정합니다.

코드에 대한 자세한 분석은 다음과 같습니다.

  • array_column($yourArray, "price"): 이 줄은 "price"를 추출합니다. 내부 배열의 값을 사용하여 1차원 배열을 생성합니다. 가격.
  • SORT_ASC: 이 상수는 정렬의 오름차순을 정의합니다. 내림차순으로 SORT_DESC를 사용할 수 있습니다.
  • $yourArray: 이 변수는 원래 다차원 배열에 정렬을 적용하기 위해 마지막 매개변수로 전달됩니다.

이 코드를 실행한 후, $yourArray는 "가격" 필드를 기준으로 오름차순으로 정렬됩니다. 외부 배열의 키는 유지되지 않습니다.

참고: PHP 7 이상에서 이 구문을 사용하면 참조로 변수를 전달하는 것과 관련된 오류가 발생할 수 있습니다. 이를 방지하려면 두 줄 접근 방식을 사용할 수 있습니다.

$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, $yourArray);

그러나 PHP 8에서는 한 줄 구문이 다시 예상대로 기능합니다.

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

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