표준 PHP 라이브러리(SPL) ArrayObject::uasort
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
ArrayObject::uasort — 사용자 정의 비교 함수로 항목 정렬 및 키 연결 유지
설명
public ArrayObject::uasort(callable $callback
): bool
이 함수는 키가 사용자 정의 비교 함수를 사용하여 연관된 항목과의 상관 관계를 유지하도록 항목을 정렬합니다.
이것은 실제 요소 순서가 중요한 연관 배열을 정렬할 때 주로 사용됩니다.
메모: 두 구성원이 같은 것으로 비교되면 원래 순서를 유지합니다. PHP 8.0.0 이전에는 정렬된 배열의 상대적 순서가 정의되지 않았습니다.
매개변수
callback
- 비교 함수는 첫 번째 인수가 두 번째 인수보다 각각 작거나 같거나 큰 것으로 간주되는 경우 0보다 작거나 같거나 큰 정수를 반환해야 합니다.
반환 값
항상 true
를 반환합니다.
Examples
예제 #1 ArrayObject::uasort() 예제
<?php
// Comparison function
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);
// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>
위의 예는 다음을 출력합니다.
Array ( [a] => 4 [b] => 8 [c] => -1 [d] => -9 [e] => 2 [f] => 5 [g] => 3 [h] => -4 ) Array ( [d] => -9 [h] => -4 [c] => -1 [e] => 2 [g] => 3 [a] => 4 [f] => 5 [b] => 8 )
기타
- ArrayObject::asort() - 값으로 항목 정렬
- ArrayObject::ksort() - 키로 항목 정렬
- ArrayObject::natsort() - "자연 순서" 알고리즘을 사용하여 항목 정렬
- ArrayObject::natcasesort() - 대소문자를 구분하지 않는 "자연 순서" 알고리즘을 사용하여 배열 정렬
- ArrayObject::uksort() - 사용자 정의 비교 함수를 사용하여 키별로 항목 정렬
- uasort() - 사용자 정의 비교 함수를 사용하여 배열을 정렬하고 인덱스 연결을 유지합니다.