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

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

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-06-25 16:09:033060검색

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

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제