라이브러리
[PHP] ArrayObject::uasort - 사용자 정의 비교 함수로 항목을 정렬하고 키 연결을 유지합니다.
ArrayObject::uasort
PHP에서 ArrayObject::uasort은 내부적으로 사용하는 associative array를 정렬하는 메서드입니다. 이 메서드는 정렬 기준이 함수를 통해 제공됩니다.
# uasort 메서드의 특징
- 내부적으로 사용하는 associative array를 정렬합니다.
- 정렬 기준이 함수를 통해 제공됩니다.
- 정렬은 내부적으로 수행되며, 외부에서 정렬된 결과를 받을 수 있습니다.
# uasort 메서드의 사용법
#hostingforum.kr
php
$array = new ArrayObject([
'apple' => 5,
'banana' => 3,
'cherry' => 8,
'date' => 2,
]);
// 정렬 기준이 함수를 통해 제공합니다.
function compare($a, $b) {
return $a - $b;
}
// uasort 메서드를 사용하여 정렬합니다.
$array->uasort('compare');
// 정렬된 결과를 출력합니다.
print_r($array);
# 결과
#hostingforum.kr
php
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[date] => 2
[banana] => 3
[apple] => 5
[cherry] => 8
)
)
# 정렬된 결과를 외부에서 받는 방법
#hostingforum.kr
php
$array = new ArrayObject([
'apple' => 5,
'banana' => 3,
'cherry' => 8,
'date' => 2,
]);
// 정렬 기준이 함수를 통해 제공합니다.
function compare($a, $b) {
return $a - $b;
}
// uasort 메서드를 사용하여 정렬합니다.
$array->uasort('compare');
// 정렬된 결과를 외부에서 받습니다.
$sortedArray = $array->getArrayCopy();
// 정렬된 결과를 출력합니다.
print_r($sortedArray);
# 결과
#hostingforum.kr
php
Array
(
[date] => 2
[banana] => 3
[apple] => 5
[cherry] => 8
)
정렬 기준 함수의 예시
# 오름차순 정렬
#hostingforum.kr
php
function compare($a, $b) {
return $a - $b;
}
# 내림차순 정렬
#hostingforum.kr
php
function compare($a, $b) {
return $b - $a;
}
# 문자열 정렬
#hostingforum.kr
php
function compare($a, $b) {
return strcmp($a, $b);
}
# 정렬 기준 함수의 사용법
#hostingforum.kr
php
$array = new ArrayObject([
'apple' => 5,
'banana' => 3,
'cherry' => 8,
'date' => 2,
]);
// 정렬 기준이 함수를 통해 제공합니다.
function compare($a, $b) {
return $a - $b;
}
// uasort 메서드를 사용하여 정렬합니다.
$array->uasort('compare');
// 정렬된 결과를 출력합니다.
print_r($array);
# 결과
#hostingforum.kr
php
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[date] => 2
[banana] => 3
[apple] => 5
[cherry] => 8
)
)
결론
ArrayObject::uasort 메서드는 내부적으로 사용하는 associative array를 정렬하는 메서드입니다. 이 메서드는 정렬 기준이 함수를 통해 제공됩니다. 정렬된 결과를 외부에서 받는 방법도 설명되었습니다. 또한 정렬 기준 함수의 예시와 사용법이 설명되었습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.