>  기사  >  백엔드 개발  >  PHP 배열 정렬 usort uksort 정렬 함수

PHP 배열 정렬 usort uksort 정렬 함수

高洛峰
高洛峰원래의
2016-11-29 14:48:281867검색

배열 정렬: usort() 함수는 사용자 정의 함수를 사용하여 배열을 정렬합니다.

function cmp($a, $b) //사용자 정의 콜백 함수

{

if($a==$b) //두 매개변수가 동일한 경우

{

return 0; 0을 반환

}

return($a>$b)?-1:1; //첫 번째 매개변수가 두 번째 매개변수보다 크면 1을 반환하고, 그렇지 않으면 -1을 반환합니다.

}

$a=array(3,2,5,6,1);                                                                                                                                          🎜>

foreach($a as $key=>$value) //출력으로 루프 정렬된 키-값 쌍

{

echo "$key:$valuen";

}

참고: 두 요소의 비교 결과가 동일하며 정렬된 배열의 순서는 정의되지 않습니다. PHP 4.0.6 이전에는 사용자 정의 함수가 이러한 요소의 원래 순서를 유지하지만 4.1.0에 도입된 새로운 정렬 알고리즘으로 인해 결과는 다음과 같습니다. 이에 대한 효과적인 해결책이 없기 때문에

배열 키를 정렬합니다 uksort( array, sorttype), 예제 코드는 다음과 같습니다:

function cmp($a, $b ) //사용자 정의 콜백 함수

{

if($a== $b) //두 매개변수가 동일한 경우

{

return 0; //0을 반환

}

return($a>$b )?-1:1; //첫 번째 매개변수가 두 번째 매개변수보다 크면 1을 반환합니다. , 그렇지 않으면 -1

}

$a=array(4=>"four", 3 =>"3",20 =>"twenty",10=> "ten"); //배열 정의

uksort ($a,"cmp"); //self를 사용하여 배열 키를 정렬하는 함수 정의

foreach($a를 $로 지정 key=>$value) //정렬된 키-값 쌍을 출력하는 루프

{//

echo "$key:$valuen"

}

uksort() 함수는 사용자 정의 비교 함수를 사용하여 키 이름에 따라 배열을 정렬하고 인덱스 관계를 유지하며 성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

정렬할 배열을 특이한 기준으로 정렬해야 하는 경우, 이 함수를 사용해야 합니다. 사용자 정의 함수는 키 이름 채우기 쌍인 두 개의 매개변수를 허용해야 하며, 비교 함수는 다음과 같은 0보다 작은 정수를 반환해야 합니다. 첫 번째 매개변수가 두 번째 매개변수보다 작거나 같거나 클 경우 각각 0 또는 0보다 큽니다.

sort() 함수 press 주어진 배열의 값을 오름차순으로 정렬합니다. 🎜>

참고: 이 함수는 배열의 장치에 새 키 이름을 할당합니다. 성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

$fruits=array("lemon","orange","banana","apple"); //배열 정의

sort($fruits); foreach($fruits as $key=>$val) //배열을 정렬한 후 키-값 쌍을 출력하는 루프

{

echo "$key =$valn"; /키-값 쌍 출력

}//

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