>백엔드 개발 >PHP 튜토리얼 >사용자 정의 순서에 따라 PHP 배열을 정렬하는 방법은 무엇입니까?

사용자 정의 순서에 따라 PHP 배열을 정렬하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-24 08:11:15957검색

How to Sort a PHP Array Based on a Custom Order?

PHP에서 사용자 정의 순서 배열 정렬

PHP에서 배열 정렬은 일반적으로 비교 기반 알고리즘을 통해 수행됩니다. 그러나 사전 정의된 사용자 정의 순서에 따라 배열을 정렬해야 하는 상황이 있습니다.

각 하위 배열에 "id"와 "title"이라는 두 개의 키가 포함된 배열 배열을 생각해 보세요. 다음과 같이 특정 순서로 기본 배열을 정렬하고 싶습니다.

[3452342, 5867867, 7867867, 1231233]

이를 달성하려면 usort() 함수를 활용할 수 있습니다. 이 함수를 사용하면 배열 요소를 비교하는 방법을 정의하는 비교 함수를 지정할 수 있습니다.

이 경우 비교 함수는 클로저를 사용하여 사용자 정의 순서 배열에서 "id" 값의 위치를 ​​비교합니다( $order):

usort($array, function ($a, $b) use ($order) {
    $pos_a = array_search($a['id'], $order);
    $pos_b = array_search($b['id'], $order);
    return $pos_a - $pos_b;
});

비교 함수는 $order 배열의 "id" 값 위치를 $pos_a 및 $pos_b에 할당합니다. 그런 다음 이 위치를 빼서 순서를 결정합니다($pos_a가 $pos_b보다 작으면 $a가 $b 앞에 옵니다).

사용자 정의 순서 배열과 비교 기능을 사용하면 배열을 효과적으로 정렬할 수 있습니다. 미리 정의된 순서대로 배열합니다.

위 내용은 사용자 정의 순서에 따라 PHP 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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