> 백엔드 개발 > PHP 튜토리얼 > 특정 하위 배열 값을 기준으로 하위 배열의 PHP 배열을 어떻게 정렬할 수 있나요?

특정 하위 배열 값을 기준으로 하위 배열의 PHP 배열을 어떻게 정렬할 수 있나요?

Barbara Streisand
풀어 주다: 2024-12-10 04:16:18
원래의
357명이 탐색했습니다.

How Can I Sort a PHP Array of Subarrays by a Specific Subarray Value?

하위 배열 값을 기준으로 PHP 배열 정렬: 단계별 가이드

특정 하위 배열 값을 기준으로 배열 구조를 구성하려면, 가장 효율적인 접근 방식은 PHP의 usort 기능을 활용하는 것입니다. 이 방법은 사용자 정의 정렬 기능을 사용하여 요소를 사용자 정의 순서로 정렬합니다.

제공된 예에서 작업은 "optionNumber" 필드를 기반으로 하위 배열 배열을 증분 순서로 정렬하는 것입니다. 이를 수행하려면 다음 단계를 따르십시오.

  1. 사용자 정의 비교 함수 정의:
    원하는 필드를 기반으로 두 하위 배열을 비교하는 함수를 만듭니다. 이 경우 "optionNumber" 값을 비교합니다. 5.3 이전 PHP 버전의 경우 다음과 같은 명명된 함수를 사용하세요.

    function cmp_by_optionNumber($a, $b) {
      return $a["optionNumber"] - $b["optionNumber"];
    }
    로그인 후 복사

    PHP 5.3 이상의 경우 익명 함수를 대신 사용할 수 있습니다.

    usort($array, function ($a, $b) {
      return $a['optionNumber'] - $b['optionNumber'];
    });
    로그인 후 복사
  2. usort 함수 적용:
    입력 배열에서 usort 함수를 호출하고, 비교 함수를 매개변수로 전달합니다. 이렇게 하면 원하는 순서로 배열이 정렬됩니다.

    usort($array, "cmp_by_optionNumber");
    로그인 후 복사
  3. 문자열 비교를 위한 대체 방법:
    "optionNumber" 값이 문자열이 아닌 문자열인 경우 정수인 경우 대신 문자열 비교를 사용하도록 비교 함수를 수정합니다.

    function cmp_by_optionNumber($a, $b) {
      return strcmp($a["optionNumber"], $b["optionNumber"]);
    }
    로그인 후 복사
  4. PHP 7.0 이상:
    PHP 7.0 이상에서는 우주선 연산자(<=>)를 사용할 수 있습니다. 보다 정확한 비교와 숫자 오버플로를 방지하기 위해 뺄셈 대신 문제.

    usort($array, function ($a, $b) {
      return $a['optionNumber'] <=> $b['optionNumber'];
    });
    로그인 후 복사

이러한 단계를 따르면 특정 값을 기준으로 하위 배열 배열을 효과적으로 정렬하여 요소가 원하는 증분 순서로 정렬되도록 할 수 있습니다.

위 내용은 특정 하위 배열 값을 기준으로 하위 배열의 PHP 배열을 어떻게 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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