
ArrayIterator::ksort는 내부적으로 sort를 사용하여 정렬을 수행한다는 점은 사실입니다. 하지만 두 함수의 차이점은 다음과 같습니다.
- sort는 키를 기준으로 정렬을 수행하지만, ArrayIterator::ksort는 키를 기준으로 정렬을 수행하고, 또한 정렬된 키의 순서를 유지합니다.
- sort는 내부적으로 정렬된 키의 순서를 유지하지 않습니다. 따라서, 정렬된 키의 순서를 유지해야 하는 경우 ArrayIterator::ksort를 사용하는 것이 좋습니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
$array = [
'c' => 'c',
'a' => 'a',
'b' => 'b'
];
sort($array); // 정렬된 키의 순서를 유지하지 않습니다.
print_r($array);
ksort($array); // 정렬된 키의 순서를 유지합니다.
print_r($array);
sort의 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[0] => a
[1] => b
[2] => c
)
ksort의 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[a] => a
[b] => b
[c] => c
)
따라서, 정렬된 키의 순서를 유지해야 하는 경우 ArrayIterator::ksort를 사용하는 것이 좋습니다.
2025-07-25 13:58