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