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

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

DDD
풀어 주다: 2024-12-06 00:54:10
원래의
236명이 탐색했습니다.

How to Sort a Multidimensional PHP Array by Sub-array Value?

PHP에서 하위 배열 값으로 다차원 배열 정렬

PHP에서 배열은 다차원일 수 있습니다. 즉, 배열 내에 배열을 포함할 수 있습니다. . 일반적인 사용 사례는 중첩된 하위 배열 내의 특정 키를 기준으로 이러한 배열을 정렬하는 것입니다.

문자열 키로 정렬

다음 배열을 고려하세요.

$array = [
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => '3',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => '2',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => '1',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ]
];
로그인 후 복사

'optionNumber' 키를 기준으로 이 배열을 오름차순으로 정렬하려면 usort를 사용할 수 있습니다. 익명 함수와 함께:

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

이 함수는 각 하위 배열의 'optionNumber' 값을 비교하여 첫 번째 값이 더 크면 1을 반환하고, 작으면 -1을, 더 작으면 0을 반환합니다. 동일한. 이 비교는 대소문자를 구분합니다.

정수 키로 정렬

'optionNumber' 키에 정수가 포함된 경우 다음 함수를 사용할 수 있습니다.

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

이 비교는 숫자의 오름차순으로 배열을 정렬합니다. order.

고려 사항

  • PHP 버전 5.3 이상에서는 오버플로/잘림을 방지하기 위해 빼기 대신 우주선 연산자(<=>)를 사용합니다.
  • 이러한 솔루션에서는 'optionNumber' 키가 모든 하위 배열에 존재한다고 가정합니다. 예상했던 유형입니다.

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

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