PHP에서 array_multisort 함수를 사용하여 지정된 필드별로 배열을 정렬하는 방법

醉折花枝作酒筹
풀어 주다: 2023-03-10 21:56:01
앞으로
3069명이 탐색했습니다.

PHP에는 배열을 정렬하는 데 사용할 수 있는 몇 가지 함수가 있습니다. 하지만 여러 필드가 있는 배열의 경우 지정된 필드를 기준으로 정렬하는 방법 array_multisort 함수를 사용하여 지정된 필드를 기준으로 정렬할 수 있습니다.

PHP에서 array_multisort 함수를 사용하여 지정된 필드별로 배열을 정렬하는 방법

PHP에는 배열을 정렬하는 데 사용할 수 있는 몇 가지 함수가 있습니다.

  • sort() - 배열을 오름차순으로 정렬

  • rsort() - 배열을 내림차순으로 정렬

  • asort() - 연관 배열의 값을 기준으로 오름차순으로 배열 정렬

  • ksort() - 연관배열의 키에 따라 오름차순으로 배열 정렬

  • arsort() - 연관배열의 값에 따라 내림차순으로 배열 정렬

  • krsort() - 연관 배열의 키를 기준으로 내림차순으로 배열을 정렬합니다. 내림차순으로 정렬

예:

        $arr=['green','car','apple','book'];
        sort($arr);
        var_dump($arr);
로그인 후 복사

정렬 결과를 얻을 수 있습니다.

array (size=4)
  0 => string 'apple' (length=5)
  1 => string 'book' (length=4)
  2 => string 'car' (length=3)
  3 => string 'green' (length=5)
로그인 후 복사

그러나 여러 필드가 있는 배열의 경우, 지정된 필드를 기준으로 정렬하는 방법은 무엇입니까? 예를 들어 다음 배열은

        $arr=[
            [
                'age'=>50,
                'name'=>'张三'
            ],
            [
                'age'=>18,
                'name'=>'李四'
            ],
            [
                'age'=>27,
                'name'=>'王五'
            ]
        ];
로그인 후 복사

나이를 기준으로 정렬하는 방법은 무엇인가요? 아니면 array_multisort 함수를 사용하여 지정된 필드를 기준으로 정렬할 수 있습니다.

 array_multisort(array_column($arr,'age'),SORT_ASC,$arr);
var_dump($arr);
로그인 후 복사

결과를 인쇄합니다

array (size=3)
  0 => 
    array (size=2)
      'age' => int 18
      'name' => string '李四' (length=6)
  1 => 
    array (size=2)
      'age' => int 27
      'name' => string '王五' (length=6)
  2 => 
    array (size=2)
      'age' => int 50
      'name' => string '张三' (length=6)
로그인 후 복사

이렇게 정렬됩니다. 즉, array_multisort 함수를 사용하여 정렬할 때 array_column을 사용하여 배열을 정렬하고 지정된 열을 첫 번째 매개변수에 추출하고 정렬 상수를 두 번째 매개변수를 사용하고 배열을 다음 매개변수에 넣습니다. 세 번째 매개변수를 사용하면 지정된 필드를 기준으로 정렬할 수 있습니다. SORT_ASC는 오름차순이고 SORT_DESC는 내림차순입니다.

추천 학습: php 비디오 튜토리얼

위 내용은 PHP에서 array_multisort 함수를 사용하여 지정된 필드별로 배열을 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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