
우선순위에 따라 정렬하는 경우, 우선순위를 반영하는 기준을 정의한 후, ArrayIterator::uksort 메서드를 사용하여 정렬할 수 있습니다.
예를 들어, 우선순위를 정의한 배열을 다음과 같이 가정해 보겠습니다.
#hostingforum.kr
php
$priority = [
'high' => 1,
'medium' => 2,
'low' => 3
];
그리고 우선순위를 반영하는 기준을 정의한 후, ArrayIterator::uksort 메서드를 사용하여 정렬할 수 있습니다.
#hostingforum.kr
php
$iterator = new ArrayIterator([
'low' => 'low',
'high' => 'high',
'medium' => 'medium'
]);
uksort($iterator, function($a, $b) use ($priority) {
if ($priority[$a] == $priority[$b]) {
return strcmp($a, $b);
} else {
return $priority[$a] - $priority[$b];
}
});
foreach ($iterator as $key => $value) {
echo "$key: $valuen";
}
이 예제에서는 우선순위를 반영하는 기준을 정의한 후, ArrayIterator::uksort 메서드를 사용하여 정렬합니다. 우선순위가 같은 경우, 알파벳 순으로 정렬합니다. 우선순위가 다른 경우, 우선순위가 높은 키를 먼저 정렬합니다.
2025-08-12 02:46