usort 함수
함수 usort는 정렬된 배열에서 요소의 순서를 결정하기 위해 콜백을 사용하여 요소 값을 기준으로 배열을 정렬합니다. 함수는 배열 자체를 변경합니다.
비교 함수는 비교 결과에 따라 0보다 작거나, 같거나, 큰 정수를 반환해야 합니다.
구문
usort(array &$array, callable $callback): bool
예제
요소를 오름차순으로 배열을 정렬해 봅시다:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a < $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
코드 실행 결과:
[1, 2, 3, 4, 5]
예제
이번에는 요소를 내림차순으로 배열을 정렬해 봅시다:
<?php
$arr = [1, 3, 2, 5, 4];
function func($a, $b)
{
if ($a === $b) {
return 0;
} else if ($a > $b) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
코드 실행 결과:
[1, 2, 3, 4, 5]
예제
이번에는 배열 요소의 문자열 길이를 기준으로 오름차순 정렬해 봅시다:
<?php
$arr = [
'123',
'1',
'12345',
'12',
'1234',
];
function func($a, $b)
{
if (strlen($a) === strlen($b)) {
return 0;
} else if (strlen($a) < strlen($b)) {
return -1;
} else {
return 1;
}
}
usort($arr, 'func');
var_dump($arr);
?>
코드 실행 결과:
[
'1',
'12',
'123',
'1234',
'12345',
]
함께 보기
-
함수
sort,
요소를 오름차순으로 정렬 -
함수
rsort,
요소를 내림차순으로 정렬 -
함수
ksort,
키를 오름차순으로 정렬 -
함수
krsort,
키를 내림차순으로 정렬 -
함수
asort,
키를 유지하며 요소를 오름차순으로 정렬 -
함수
arsort,
키를 유지하며 요소를 내림차순으로 정렬 -
함수
natsort,
자연 순서로 정렬 -
함수
natcasesort,
대소문자를 구분하지 않고 자연 순서로 정렬 -
함수
usort,
콜백을 사용하여 정렬 -
함수
uksort,
콜백을 사용하여 키를 기준으로 정렬 -
함수
uasort,
키를 유지하며 콜백을 사용하여 정렬 -
함수
array_multisort,
여러 배열을 정렬