
uasort 함수의 $comparator 함수는 정렬 순서를 결정하는 함수입니다. 이 함수에서 return 0을 반환하면 해당 항목은 정렬 순서에 영향을 미치지 않습니다. 즉, 해당 항목은 정렬 순서에 포함되지 않지만, 정렬에서 제외되는 것은 아닙니다.
예를 들어, 다음과 같은 데이터가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
$data = [
['name' => 'John', 'age' => 25],
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 20],
['name' => 'Charlie', 'age' => 25],
];
uasort 함수를 사용하여 정렬을 할 때, $comparator 함수를 다음과 같이 정의할 수 있습니다.
#hostingforum.kr
php
uasort($data, function($a, $b) {
if ($a['age'] == $b['age']) {
return 0;
} elseif ($a['age'] < $b['age']) {
return -1;
} else {
return 1;
}
});
이 경우, $comparator 함수에서 return 0을 반환하면 age가 동일한 항목은 정렬 순서에 영향을 미치지 않습니다. 하지만, age가 동일한 항목은 정렬에서 제외되는 것은 아닙니다. 대신, age가 동일한 항목은 정렬 순서에 포함되지 않습니다.
예를 들어, 다음과 같이 정렬된 데이터가 될 수 있습니다.
#hostingforum.kr
php
$data = [
['name' => 'John', 'age' => 25],
['name' => 'Bob', 'age' => 20],
['name' => 'Alice', 'age' => 30],
['name' => 'Charlie', 'age' => 25],
];
age가 동일한 항목인 John과 Charlie는 정렬 순서에 포함되지 않지만, 정렬에서 제외되는 것은 아닙니다.
2025-03-27 11:47