라이브러리

[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` 형태로 사용할 수 있습니다. 이 함수는 배열을 정렬할 때 유용하게 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 77건 / 1 페이지

검색

게시물 검색