>  기사  >  백엔드 개발  >  PHP 배열 정렬 해석

PHP 배열 정렬 해석

WBOY
WBOY원래의
2016-07-28 08:27:291240검색

PHP에는 강력한 함수 라이브러리 세트가 있습니다. 각 배열 정렬 함수의 구체적인 사용법을 살펴보겠습니다. 아래 스크린샷은 PHP7.0 매뉴얼에서 가져온 것입니다.
 解读PHP数组排序


  • sort( ) — 배열을 낮은 수준에서 높은 수준으로 정렬합니다. 이 함수는 모든 정렬 함수의 루트 함수입니다. bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )배열을 제외한 두 개의 매개변수 두 번째 선택적 매개변수 sort_flags는 선택적 유형 플래그를 통해 정렬 동작을 변경합니다.
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"bens2"</span>,<span>"honda3"</span>,<span>"BMW4"</span>,<span>"aens1"</span>,<span>"BMW5"</span>);
sort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[0]=BMW4 auto[1]=BMW5 auto[2]=aens1 auto[3]=bens2 auto[4]=honda3</span>
}</span></span></code>
  • rsort — 배열을 역정렬합니다. 매개변수 목록은 sort와 동일하며 반환 값은
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"bens2"</span>,<span>"honda3"</span>,<span>"BMW4"</span>,<span>"aens1"</span>,<span>"BMW5"</span>);
rsort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[0]=honda3 auto[1]=BMW5 auto[2]=BMW4 auto[3]=bens2 auto[4]=aens1</span>
}</span></span></code>

    asort() — 배열을 정렬하고 인덱스 관계를 유지합니다. 매개 변수 및 반환 값은 위와 동일합니다. 매뉴얼의 설명은 "이 함수는 배열을 정렬합니다. 배열은 단위와 연관되어 있습니다. 배열 정렬이 중요한 조합에 주로 사용됩니다. "개인적으로는 연관 배열 정렬에 중점을 두고 있다고 생각합니다. 정렬 규칙은 단순히 값을 기반으로 합니다. 키가 아닙니다. ksort()와 구별하기 쉽습니다.
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"a"</span>=><span>"bens2"</span>,<span>"b"</span>=><span>"honda3"</span>,<span>"c"</span>=><span>"BMW4"</span>,<span>"d"</span>=><span>"aens1"</span>,<span>"e"</span>=><span>"BMW5"</span>);
asort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[d]=aens1 auto[a]=bens2 auto[c]=BMW4 auto[e]=BMW5 auto[b]=honda3</span>
}</span></span></code>
    arsort() — 배열을 역순으로 정렬하고 인덱스 관계를 유지합니다.
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"a"</span>=><span>"bens2"</span>,<span>"b"</span>=><span>"honda3"</span>,<span>"c"</span>=><span>"BMW4"</span>,<span>"d"</span>=><span>"aens1"</span>,<span>"e"</span>=><span>"BMW5"</span>);
arsort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[b]=honda3 auto[e]=BMW5 auto[c]=BMW4 auto[a]=bens2 auto[d]=aens1</span>
}</span></span></code>

    ksort() - 키 이름에 따라 배열을 정렬합니다. 설명서에는 "키 이름에 따라 배열을 정렬하고 키 간의 연관성을 유지합니다. 이름과 데이터입니다. 이 함수는 주로 "연관 배열의 경우" 매개변수와 반환 값은 sort()
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"b"</span>=><span>"bens2"</span>,<span>"a"</span>=><span>"honda3"</span>,<span>"d"</span>=><span>"BMW4"</span>,<span>"c"</span>=><span>"aens1"</span>,<span>"e"</span>=><span>"BMW5"</span>);
ksort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[a]=honda3 auto[b]=bens2 auto[c]=aens1 auto[d]=BMW4 auto[e]=BMW5</span>
}</span></span></code>
    krsort — 배열을 역순으로 정렬하는 것과 동일합니다. 키 이름순으로 정렬하면 매개변수와 반환 값은 위와 동일합니다.
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"b"</span>=><span>"bens2"</span>,<span>"a"</span>=><span>"honda3"</span>,<span>"d"</span>=><span>"BMW4"</span>,<span>"c"</span>=><span>"aens1"</span>,<span>"e"</span>=><span>"BMW5"</span>);
ksort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"\n"</span>;
    <span>//输出auto[a]=honda3 auto[b]=bens2 auto[c]=aens1 auto[d]=BMW4 auto[e]=BMW5</span>
}</span></span></code>

    natsort — "자연 정렬" 알고리즘을 사용하여 배열을 정렬합니다. "이 함수는 사람들이 일반적으로 영숫자 문자열을 정렬하는 것과 같은 방식으로 정렬 알고리즘을 구현합니다. 원래 키/값 연관을 유지하는 것을 "자연 정렬"이라고 하며 sort()의 정렬 방법과 다릅니다. 전달된 매개변수인 🎜>
  • shuffle() — 배열을 섞습니다. 키 이름만 섞는 것이 아니라 전달된 배열 변수만 해당 매개변수입니다. 반환 값은 true 또는 false입니다
<code><span><span><?php</span><span>$auto</span> = <span>array</span>(<span>"b"</span>=><span>"bens2"</span>,<span>"e"</span>=><span>"bens20"</span>,<span>"a"</span>=><span>"bens31"</span>,<span>"d"</span>=><span>"bens41"</span>,<span>"c"</span>=><span>"bens1"</span>,<span>"e"</span>=><span>"bens15"</span>);
sort(<span>$auto</span>,SORT_STRING|SORT_FLAG_CASE);<span>//不区分大小写排序字符串</span><span>echo</span><span>"sort排序:<br>"</span>;
<span>foreach</span>(<span>$auto</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"<br>"</span>;

}
<span>$auto1</span> = <span>array</span>(<span>"b"</span>=><span>"bens2"</span>,<span>"e"</span>=><span>"bens20"</span>,<span>"a"</span>=><span>"bens31"</span>,<span>"d"</span>=><span>"bens41"</span>,<span>"c"</span>=><span>"bens1"</span>,<span>"e"</span>=><span>"bens15"</span>);
natsort(<span>$auto1</span>);<span>//参数只有一个</span><span>echo</span><span>"natsort排序:<br>"</span>;
<span>foreach</span>(<span>$auto1</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"<br>"</span>;

}
<span>//输出</span><span>/* sort排序:
auto[0]=bens1
auto[1]=bens15
auto[2]=bens2
auto[3]=bens31
auto[4]=bens41
natsort排序:
auto[c]=bens1
auto[b]=bens2
auto[e]=bens15
auto[a]=bens31
auto[d]=bens41 */</span></span></span></code>

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
  • ').text(i)); }; $numbering.fadeIn(1700); }); });
위에서는 PHP 배열 정렬의 해석을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
<code><span><span><?php</span><span>$auto1</span> = <span>array</span>(<span>"b"</span>=><span>"bens2"</span>,<span>"e"</span>=><span>"bens20"</span>,<span>"a"</span>=><span>"bens31"</span>,<span>"d"</span>=><span>"bens41"</span>,<span>"c"</span>=><span>"bens1"</span>,<span>"e"</span>=><span>"bens15"</span>);
shuffle(<span>$auto1</span>);
<span>foreach</span>(<span>$auto1</span><span>as</span><span>$key</span>=><span>$val</span>)
{
    <span>echo</span><span>"auto["</span>.<span>$key</span>.<span>"]="</span>.<span>$val</span>.<span>"<br>"</span>;

}
<span>//输出</span><span>/* auto[0]=bens41
auto[1]=bens15
auto[2]=bens1
auto[3]=bens2
auto[4]=bens31 */</span></span></span></code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.