>백엔드 개발 >PHP 튜토리얼 >Alwayscomebacktoyourlove PHP 다차원 배열 정렬 usort,uasort

Alwayscomebacktoyourlove PHP 다차원 배열 정렬 usort,uasort

WBOY
WBOY원래의
2016-07-29 08:43:071419검색

숫자 인덱스 배열:
bool usort( array &$array, callback $cmp_function )
usort 함수는 지정된 배열(매개변수 1)을 지정된 방식(매개변수 2)으로 정렬합니다.
다차원 배열을 정렬할 때 다차원 배열의 각 요소는 배열 유형인데, 두 배열의 크기를 어떻게 비교하나요? 이는 사용자가 사용자 정의해야 합니다(각 배열의 첫 번째 요소를 기준으로 비교할지 여부...).

코드 복사 코드는 다음과 같습니다.


//다차원 배열 정의
$a = array(
array("하늘", "파란색"),
array("사과", "빨간색"),
array("나무", "녹색"));
// 배열의 두 번째 요소를 기준으로 비교하도록 배열 비교 함수를 사용자 정의합니다.
function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1
else if ($a[1] = = $b[1])
return 0;
else
return 1;
}
//Sort
usort($a, 'my_compare'); /결과 출력
foreach($a as $elem) {
echo "$elem[0] : $elem[1]
"
}
?> 🎜>

결과는



코드 복사 코드는 다음과 같습니다.

하늘 : 파란색

나무 : 녹색
사과 : 빨간색


연관 배열:

bool uasort(array &$array, callback $cmp_function)
bool uksort(array &$array, callback $cmp_function)
uasort, uksort는 usort와 동일하게 사용되는데, uasort()는 연관 배열의 값을 정렬하고, uksort()는 연관 배열의 키를 정렬합니다.


코드 복사 코드는 다음과 같습니다.

$a = array(
'일요일' => 배열(0,'7일'),
'금요일' => 배열(5,'5일'),
'화요일'=> );
function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1
else if ($a[1) ] == $b[1])
return 0;
else
return 1;
}
//값의 두 번째 요소(7번째, 5번째, 2번째)에 따라 $a 배열 Sort
uasort($a, 'my_compare')
foreach($a as $key => $value) {
echo "$key : $value[0] $value [1]< ;br />";
}
//$a 배열 키의 두 번째 문자(r, u, u)로 정렬
uksort($a, 'my_compare ');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]
";
?>


결과는 다음과 같습니다.
화요일 : 2 2일 금요일 : 5 5일
일요일 : 0 7일
금요일 : 5 5일
일요일 : 0 7일
화 : 2 2일
위에서는 Alwayscomebacktoyourlove의 내용을 포함하여 Alwayscomebacktoyourlove PHP 다차원 배열 정렬 usort 및 uasort를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

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