라이브러리
[PHP] ArrayIterator::uksort - 사용자 정의 비교 함수를 사용하여 키로 정렬
PHP 에서 `ArrayIterator::uksort` 함수는 키를 기준으로 정렬하는 함수입니다. `uksort` 함수는 키를 기준으로 정렬을 하며, `uasort` 함수와 비슷하지만 `uksort` 함수는 키를 기준으로 정렬을 하기 때문에, 키가 중복되는 경우에 사용할 수 있습니다.
ArrayIterator::uksort 함수의 사용법
`ArrayIterator::uksort` 함수는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$iterator = new ArrayIterator($array);
$iterator->uksort($comparator);
예제
다음 예제에서는 `ArrayIterator::uksort` 함수를 사용하여 키를 기준으로 정렬하는 방법을 보여줍니다.
#hostingforum.kr
php
$array = [
'c' => 'c',
'a' => 'a',
'b' => 'b',
];
$iterator = new ArrayIterator($array);
$iterator->uksort(function($a, $b) {
return $a <=> $b;
});
foreach ($iterator as $key => $value) {
echo "$key: $value
";
}
결과
#hostingforum.kr
a: a
b: b
c: c
예제 설명
위 예제에서는 `$array` 변수에 키가 'a', 'b', 'c'인 배열을 선언합니다. 그리고 `ArrayIterator::uksort` 함수를 사용하여 키를 기준으로 정렬을 합니다. `uksort` 함수의 비교 함수는 `$a <=> $b` 형태로 사용할 수 있습니다. 이 비교 함수는 `$a`가 `$b`보다 작으면 -1을 반환하고, `$a`가 `$b`보다 크면 1을 반환하고, `$a`와 `$b`가 같으면 0을 반환합니다.
예제 2 - 중복 키의 경우
다음 예제에서는 `ArrayIterator::uksort` 함수를 사용하여 중복 키의 경우를 보여줍니다.
#hostingforum.kr
php
$array = [
'c' => 'c',
'a' => 'a',
'b' => 'b',
'c' => 'c2',
];
$iterator = new ArrayIterator($array);
$iterator->uksort(function($a, $b) {
return $a <=> $b;
});
foreach ($iterator as $key => $value) {
echo "$key: $value
";
}
결과
#hostingforum.kr
a: a
b: b
c: c
c: c2
예제 설명
위 예제에서는 `$array` 변수에 키가 'a', 'b', 'c'인 배열을 선언합니다. 그리고 `ArrayIterator::uksort` 함수를 사용하여 키를 기준으로 정렬을 합니다. 이 경우, 중복 키 'c'가 있지만, `uksort` 함수는 키를 기준으로 정렬을 하기 때문에, 중복 키가 정렬에 영향을 주지 않습니다.
결론
`ArrayIterator::uksort` 함수는 키를 기준으로 정렬하는 함수로, 키가 중복되는 경우에 사용할 수 있습니다. `uksort` 함수의 비교 함수는 `$a <=> $b` 형태로 사용할 수 있습니다. 이 함수는 배열을 정렬할 때 유용하게 사용할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.