
uksort 함수는 사용자 정의 비교 함수를 사용하여 배열을 정렬할 때, 키가 중복되는 경우를 처리하는 방법에 대해 알려드리겠습니다.
키가 중복되는 경우에는, 정렬 기준이 되는 키를 기준으로 정렬을 수행한 후, 동일한 키가 있는 경우에는 추가 정렬 기준을 사용하여 정렬을 수행할 수 있습니다.
예를 들어, 다음 배열을 사용하여 uksort 함수를 테스트하고 싶습니다.
#hostingforum.kr
php
$array = [
['name' => 'John', 'age' => 30],
['name' => 'Alice', 'age' => 25],
['name' => 'Bob', 'age' => 30],
['name' => 'Charlie', 'age' => 25],
];
키가 중복되었을 때, uksort 함수를 사용하여 정렬을 수행하려면, 사용자 정의 비교 함수를 정의하여 사용해야 합니다. 사용자 정의 비교 함수는 두 개의 키를 비교하여 정렬 순서를 결정합니다.
#hostingforum.kr
php
uksort($array, function($a, $b) {
if ($a['name'] == $b['name']) {
return $a['age'] - $b['age'];
} else {
return strcmp($a['name'], $b['name']);
}
});
위의 코드에서는, 'name' 키가 중복되었을 때, 'age' 키를 기준으로 추가 정렬을 수행합니다. 만약 'age' 키도 중복되었을 때, 'name' 키를 기준으로 정렬을 수행합니다.
uksort 함수의 사용법은 다음과 같습니다.
#hostingforum.kr
php
uksort(array, comparison_function)
* array: 정렬할 배열
* comparison_function: 사용자 정의 비교 함수
사용자 정의 비교 함수는 두 개의 키를 비교하여 정렬 순서를 결정합니다. 반환 값은 다음과 같습니다.
* 음수: 첫 번째 키가 두 번째 키보다 작음
* 0: 두 번째 키가 첫 번째 키와 동일함
* 양수: 첫 번째 키가 두 번째 키보다 큼
이러한 방법으로, uksort 함수를 사용하여 키가 중복되는 경우를 처리할 수 있습니다.
2025-06-15 21:36