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

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

DDD
DDD원래의
2024-12-06 00:54:10239검색

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

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