>백엔드 개발 >PHP 튜토리얼 >값 길이에 따라 PHP 배열을 정렬하는 방법: `usort` 대 `uasort`?

값 길이에 따라 PHP 배열을 정렬하는 방법: `usort` 대 `uasort`?

Patricia Arquette
Patricia Arquette원래의
2024-11-02 20:01:02461검색

How to Sort a PHP Array by Value Length: `usort` vs. `uasort`?

순서 중요: PHP에서 값 길이에 따라 배열 정렬

값 길이에 따라 배열을 정렬하는 것은 다음과 같은 다양한 애플리케이션에서 중요한 작업입니다. 데이터 정리, 텍스트 분석 등 PHP에서는 이를 달성하기 위해 여러 가지 방법을 사용할 수 있습니다.

한 가지 접근 방식은 사용자 정의 비교 함수를 적용하여 배열을 정렬하는 usort 함수를 사용하는 것입니다. 이 경우 배열 값의 길이를 비교하는 사용자 정의 함수를 정의할 수 있습니다:

<code class="php">function sortByLength($a, $b) {
    return strlen($b) - strlen($a);
}</code>

이 함수를 usort의 두 번째 매개변수로 전달할 수 있습니다:

<code class="php">usort($array, 'sortByLength');</code>

이 접근 방식은 간단하며 가장 긴 값이 먼저 나타나도록 배열을 정렬할 수 있습니다.

또 다른 옵션은 원래 인덱스 연결을 유지하면서 배열을 정렬하는 uasort를 사용하는 것입니다. 동일한 사용자 정의 비교 기능을 사용할 수 있습니다:

<code class="php">uasort($array, sortByLength);</code>

usort와 uasort 사이의 선택은 원하는 동작에 따라 다릅니다. usort는 인덱스의 순서가 중요하지 않은 경우 더 효율적이며, uasort는 원래 인덱스를 유지하여 예측 가능한 인덱싱이 가능한 정렬된 배열을 제공합니다.

usort는 불안정한 정렬이므로 보존되지 않을 수 있다는 점에 주목할 가치가 있습니다. 동일한 요소의 초기 순서. 그러나 우리의 사용자 정의 비교 기능은 고유한 배열 값의 길이를 비교하므로 이러한 특정 경우의 안정성을 보장합니다.

위 내용은 값 길이에 따라 PHP 배열을 정렬하는 방법: `usort` 대 `uasort`?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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