>백엔드 개발 >PHP 튜토리얼 >날짜/시간 요소를 기준으로 다차원 PHP 배열을 정렬하는 방법은 무엇입니까?

날짜/시간 요소를 기준으로 다차원 PHP 배열을 정렬하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-16 15:10:21431검색

How to Sort a Multidimensional PHP Array by a Datetime Element?

PHP에서 날짜 요소별로 다차원 배열 정렬

아래와 유사한 구조를 가진 배열을 고려해보세요.

$array = [
    [
        'id' => 2,
        'type' => 'comment',
        'text' => 'hey',
        'datetime' => '2010-05-15 11:29:45',
    ],
    [
        'id' => 3,
        'type' => 'status',
        'text' => 'oi',
        'datetime' => '2010-05-26 15:59:53',
    ],
    [
        'id' => 4,
        'type' => 'status',
        'text' => 'yeww',
        'datetime' => '2010-05-26 16:04:24',
    ],
];

어떻게 할 수 있나요? 이 배열을 'datetime' 요소로 정렬하시겠습니까?

사용자 정의와 함께 usort() 사용 비교 함수

PHP의 usort() 함수는 배열과 요소의 순서를 결정하는 비교 함수를 사용합니다. 다음과 같이 date_compare라는 사용자 정의 비교 함수를 생성할 수 있습니다.

function date_compare($a, $b)
{
    $t1 = strtotime($a['datetime']);
    $t2 = strtotime($b['datetime']);
    return $t1 - $t2;
}

이 함수는 각 레코드의 'datetime' 필드에 대한 UNIX 타임스탬프를 추출하고 그 차이를 반환합니다. 이 정보는 usort()에서 배열을 정렬하는 데 사용됩니다.

정렬 함수 적용

마지막으로 usort()를 사용하여 배열에 정렬 함수를 적용할 수 있습니다.

usort($array, 'date_compare');

'datetime' 요소를 기준으로 오름차순으로 배열을 정렬합니다.

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

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