라이브러리

[PHP] DsSet::reduce - 콜백 함수를 사용하여 세트를 단일 값으로 줄입니다.




DsSet::reduce란?

PHP 7.4 버전부터 도입된 `DsSet` 클래스는 집합(set) 데이터 구조를 제공합니다. 집합은 중복된 원소가 없는 데이터 구조입니다. `DsSet` 클래스의 `reduce` 메서드는 집합의 원소들을 하나의 값으로 축약하는 메서드입니다.

DsSet::reduce 메서드의 사용법

`reduce` 메서드는 콜백 함수를 인수로 받습니다. 콜백 함수는 집합의 원소들을 하나씩 처리하여 결과 값을 반환합니다. 콜백 함수의 첫 번째 인수는 집합의 현재 축약된 값, 두 번째 인수는 집합의 현재 원소입니다.

예제

다음 예제는 집합의 원소들을 모두 더하는 예제입니다.
#hostingforum.kr
php

use function SplDoublyLinkedListset;



$set = set([1, 2, 3, 4, 5]);

$result = $set->reduce(function ($carry, $item) {

    return $carry + $item;

});



echo $result; // 출력: 15


위 예제에서 `set` 함수를 사용하여 집합을 생성하고, `reduce` 메서드를 호출하여 집합의 원소들을 모두 더합니다. 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다.

예제 2

다음 예제는 집합의 원소들을 모두 곱하는 예제입니다.
#hostingforum.kr
php

use function SplDoublyLinkedListset;



$set = set([1, 2, 3, 4, 5]);

$result = $set->reduce(function ($carry, $item) {

    return $carry * $item;

});



echo $result; // 출력: 120


위 예제에서 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다. 집합의 원소들을 모두 곱하여 결과 값을 반환합니다.

예제 3

다음 예제는 집합의 원소들을 모두 연결하는 예제입니다.
#hostingforum.kr
php

use function SplDoublyLinkedListset;



$set = set(['a', 'b', 'c']);

$result = $set->reduce(function ($carry, $item) {

    return $carry . $item;

});



echo $result; // 출력: abc


위 예제에서 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다. 집합의 원소들을 모두 연결하여 결과 값을 반환합니다.

결론

`DsSet::reduce` 메서드는 집합의 원소들을 하나의 값으로 축약하는 메서드입니다. 콜백 함수를 인수로 받으며, 집합의 현재 축약된 값과 집합의 현재 원소를 인수로 받습니다. 예제를 통해 집합의 원소들을 모두 더하는, 곱하는, 연결하는 방법을 살펴보았습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색