<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 이 코드는 기사의 내용과 관련이 없습니다.,그것은 단지 분리됩니다</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">str_repeat</span></span><span>(</span><span><span class="hljs-string">"-"</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
rsort 그리고 asort 존재하다 PHP 정렬의 차이는 무엇입니까??각각에 적합한 시나리오가 적합합니다?
존재하다 PHP 가운데,배열 정렬은 매우 일반적인 작업입니다,그리고 rsort 그리고 asort 일반적으로 사용되는 두 가지 분류 기능입니다。그들은 모두 배열을 정렬하는 데 익숙합니다,但존재하다排序方式그리고排序结果的保留上有明显的区别。
</span><span><span class="hljs-number">1</span></span><span>. rsort — 역 순서로 정렬하십시오(내림차순을 정렬하십시오)
</span><span><span class="hljs-title function_ invoke__">rsort</span></span><span>() 函数将数组按照值进行내림차순을 정렬하십시오(큰 것부터 작은 것까지),배열의 인덱스를 재설정합니다,인덱스는 재 할당됩니다 </span><span><span class="hljs-number">0</span></span><span> 시작의 연속 숫자。
샘플 코드:
```php
</span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">rsort</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>
출력 결과 :
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => </span><span><span class="hljs-number">4</span></span><span>
[</span><span><span class="hljs-meta">1</span></span><span>] => </span><span><span class="hljs-number">3</span></span><span>
[</span><span><span class="hljs-meta">2</span></span><span>] => </span><span><span class="hljs-number">2</span></span><span>
[</span><span><span class="hljs-meta">3</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
)
</span></span>
배열의 원래 키는 폐기되고 배열은 색인 배열이됩니다.
해당 시나리오 :
배열 요소의 값 분류에만 관심을 갖고 키 이름을 유지할 필요가 없습니다.
예를 들어, 순위, 점수 등을 표시하기 위해 숫자 목록을 내림차순으로 정렬합니다.
ASORT - 값별로 정렬하고 키 이름을 연결하십시오.
ASORT () 함수는 값 (작은 것부터 큰)에 의해 오름차순으로 정렬되지만 배열의 키 이름을 변경하지 않습니다. 즉, 정렬 후 배열의 키 값 쌍 관계는 여전히 존재합니다.
샘플 코드 :
<span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'d'</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">asort</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>
출력 결과 :
<span><span>Array
(
[</span><span><span class="hljs-meta">b</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">d</span></span><span>] => </span><span><span class="hljs-number">2</span></span><span>
[</span><span><span class="hljs-meta">a</span></span><span>] => </span><span><span class="hljs-number">3</span></span><span>
[</span><span><span class="hljs-meta">c</span></span><span>] => </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>
해당 시나리오 :
키 이름을 값별로 정렬하고 유지 해야하는 시나리오.
예를 들어, 제품 가격별로 정렬하지만 제품의 식별 ID를 유지해야합니다.
키를 통해 해당 값에 대한 후속 액세스를 용이하게하기 위해 연관 배열 정렬에 사용됩니다.
요약 비교 :
기능 | 정렬 방향 | 키 이름을 유지할지 여부 | 적절한 시나리오 |
---|---|---|---|
Rsort | 하강 순서 | 예약되지 않았습니다 | 값을 정렬하십시오. 키 이름은 순위 목록과 같이 관련이 없습니다. |
Asort | 오름차순 순서 | 예약 된 키 이름 | 연관 배열 정렬과 같은 키 가치 연결을 유지하십시오 |
또한 PHP는 하강 순서를 정렬하고 키 이름을 유지하기위한 무기 소트를 가지고 있으며 정렬 정렬 순서는 오름차순으로 사용되지만 키 이름을 유지하지는 않습니다. 다른 요구에 따라 올바른 정렬 기능을 선택하면 코드가 더 간결하고 효율적 일 수 있습니다.
RSORT와 ASORT의 차이점을 이해함으로써 배열 분류를 더 잘 처리하고 데이터 혼동을 피하며 프로그램 신뢰성과 가독성을 향상시킬 수 있습니다.
<? php // 끝 부분은 echo str_repeat 기사의 내용과 관련이 없습니다 ( "-", 50). "\N"; ?> <span></span>