>백엔드 개발 >PHP 튜토리얼 >값 길이에 따라 PHP 배열을 정렬하는 방법은 무엇입니까?

값 길이에 따라 PHP 배열을 정렬하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-03 10:08:29326검색

How to Sort a PHP Array by Value Length?

PHP: 값 길이를 기준으로 배열 정렬 최적화

가변 길이 값의 배열로 작업할 때 요소 길이를 기준으로 정렬하는 것은 다음과 같습니다. 데이터를 효율적으로 정리하는 데 중요합니다. 이 기사에서는 이 일반적인 문제에 대한 실용적인 솔루션을 보여줍니다.

해결책:

php.net 웹사이트는 사용자 정의 비교 기능과 함께 usort 기능을 사용하는 솔루션을 제공합니다. . 사용자 정의 함수 sortByLength는 두 배열 요소의 길이를 비교하고 차이를 반환합니다. 비교에서 내림차순을 지정하면 배열이 정렬될 때 가장 긴 배열 값이 먼저 나타납니다.

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

usort($array,'sortByLength');</code>

이 방법은 불안정한 정렬을 사용하므로 동일한 요소가 비교 중에 상대적 순서가 변경될 수 있습니다. 정렬.

또는 uasort 함수를 사용하여 원래 인덱스를 유지할 수 있습니다.

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

예:

이 솔루션을 설명하려면, 다음 배열을 고려하세요.

<code class="php">$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");</code>

결과 정렬:

sortByLength 함수를 사용하면 정렬된 배열이 다음과 같이 나타납니다.

<code class="php">[
    0 => "bbbbb",
    1 => "aaaa",
    2 => "aaa",
    3 => "cat",
    4 => "dog"
]</code>

그동안 길이가 같은 요소의 원래 순서는 유지됩니다.

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

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