라이브러리

[PHP] DsSet::sort - 세트를 그 자리에서 정렬합니다.




DsSet::sort

PHP 7.4 버전부터 DsSet 클래스가 추가되었으며, 이 클래스는 집합(set) 데이터 구조를 제공합니다. 집합은 중복된 요소를 허용하지 않으며, 요소의 순서는 중요하지 않습니다. 그러나 DsSet 클래스는 요소를 정렬할 수 있는 메서드인 `sort()`를 제공합니다.

DsSet::sort() 메서드

DsSet::sort() 메서드는 집합의 요소를 오름차순으로 정렬합니다. 이 메서드는 집합의 요소를 변경하지 않고, 새로운 정렬된 집합을 반환합니다.

예제

#hostingforum.kr
php

// 집합 객체를 생성합니다.

$set = new DsSet([5, 2, 8, 3, 1, 6, 4]);



// 집합의 요소를 오름차순으로 정렬합니다.

$sortedSet = $set->sort();



// 정렬된 집합을 출력합니다.

print_r($sortedSet);



// 집합의 요소를 오름차순으로 정렬하고, 정렬된 집합을 반환합니다.

$sortedSet = (new DsSet([5, 2, 8, 3, 1, 6, 4]))->sort();



// 정렬된 집합을 출력합니다.

print_r($sortedSet);



출력

#hostingforum.kr
php

DsSet Object

(

    [elements:protected] => Array

        (

            [0] => 1

            [1] => 2

            [2] => 3

            [3] => 4

            [4] => 5

            [5] => 6

            [6] => 8

        )



)

DsSet Object

(

    [elements:protected] => Array

        (

            [0] => 1

            [1] => 2

            [2] => 3

            [3] => 4

            [4] => 5

            [5] => 6

            [6] => 8

        )



)



정렬 옵션

DsSet::sort() 메서드는 기본적으로 오름차순으로 정렬합니다. 그러나 정렬 옵션을 지정할 수 있습니다. 예를 들어, 내림차순으로 정렬하려면 `SORT_DESC` 옵션을 사용할 수 있습니다.

#hostingforum.kr
php

// 집합의 요소를 내림차순으로 정렬합니다.

$sortedSet = (new DsSet([5, 2, 8, 3, 1, 6, 4]))->sort(SORT_DESC);



// 정렬된 집합을 출력합니다.

print_r($sortedSet);



출력

#hostingforum.kr
php

DsSet Object

(

    [elements:protected] => Array

        (

            [0] => 8

            [1] => 6

            [2] => 5

            [3] => 4

            [4] => 3

            [5] => 2

            [6] => 1

        )



)



정렬에 사용할 비교 함수

DsSet::sort() 메서드는 기본적으로 요소를 정렬할 때, 요소의 값이 비교됩니다. 그러나 정렬에 사용할 비교 함수를 지정할 수 있습니다. 예를 들어, 요소의 길이를 비교하려면 `strlen` 함수를 사용할 수 있습니다.

#hostingforum.kr
php

// 집합의 요소를 정렬합니다. 요소의 길이를 비교합니다.

$sortedSet = (new DsSet(['apple', 'banana', 'cherry']))->sort(function($a, $b) {

    return strlen($a) - strlen($b);

});



// 정렬된 집합을 출력합니다.

print_r($sortedSet);



출력

#hostingforum.kr
php

DsSet Object

(

    [elements:protected] => Array

        (

            [0] => cherry

            [1] => apple

            [2] => banana

        )



)


  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 596 페이지

검색

게시물 검색