
ArrayObject::uksort 함수는 ArrayObject의 key를 기준으로 정렬을 합니다. 이 함수는 정렬할 때 기준을 설정할 수 있습니다.
ArrayObject::uksort 함수는 사용법이 다음과 같습니다.
- 첫 번째 인자는 정렬 기준을 설정하는 함수입니다. 이 함수는 두 개의 인자를 받고, 두 인자 중에서 더 큰 값을 반환하면 첫 번째 인자가 더 큰 것으로 간주합니다.
- 두 번째 인자는 정렬 순서를 설정하는 인자입니다. 이 인자는 SORT_REGULAR, SORT_NUMERIC, SORT_STRING, SORT_LOCALE_STRING, SORT_NATURAL, SORT_NATURAL_CASE, SORT_FLAG_CASE_LOCALE, SORT_FLAG_CASE_DEFAULT 중 하나를 지정할 수 있습니다.
위의 코드를 실행하면 ArrayObject의 key가 정렬되지 않는 이유는, ArrayObject::uksort 함수의 두 번째 인자를 생략했기 때문입니다.
ArrayObject::uksort 함수의 두 번째 인자를 생략하면 SORT_REGULAR이 기본값으로 설정됩니다. SORT_REGULAR은 정렬 기준을 기준으로 정렬을 하지만, key가 정렬되지 않습니다.
따라서, ArrayObject::uksort 함수를 사용하여 ArrayObject를 정렬할 때, 두 번째 인자를 SORT_KEY로 설정해야 합니다.
정확한 코드는 다음과 같습니다.
#hostingforum.kr
php
$array = new ArrayObject(array('apple' => 5, 'banana' => 3, 'cherry' => 1));
$array->uksort(function($a, $b) {
return $a <=> $b;
}, SORT_KEY);
print_r($array);
위의 코드를 실행하면 ArrayObject의 key가 정렬됩니다.
2025-06-11 06:33