라이브러리

[PHP] DsMap::reduce - 콜백 함수를 사용하여 맵을 단일 값으로 축소합니다.




PHP 에서 DsMap::reduce는 Map 인터페이스를 구현한 DsMap 클래스의 메서드 중 하나입니다. reduce 메서드는 콜백 함수를 호출하여 Map 객체의 모든 요소를 처리하는 데 사용됩니다.

DsMap::reduce 메서드는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

reduce($callback, $initialValue = null, $index = 0)



- `$callback`: 콜백 함수를 호출하여 Map 객체의 모든 요소를 처리합니다. 콜백 함수는 `$carry`와 `$key`를 인수로 받습니다.
- `$initialValue`: 초기값을 지정합니다. `$carry` 변수의 초기값으로 사용됩니다.
- `$index`: 초기 인덱스를 지정합니다.

reduce 메서드는 Map 객체의 모든 요소를 처리하여 `$carry` 변수에 결과를 저장합니다. `$carry` 변수는 콜백 함수의 `$carry` 인수로 전달됩니다.

예제를 통해 reduce 메서드의 사용 방법을 설명해 보겠습니다.

예제 1: Map 객체의 모든 요소의 합 계산


#hostingforum.kr
php

use function Dsmap;

use function Ds
educe;



$map = map([

    'apple' => 5,

    'banana' => 10,

    'orange' => 15,

]);



$result = reduce($map, function ($carry, $key, $value) {

    return $carry + $value;

}, 0);



echo $result; // 30



예제 2: Map 객체의 모든 요소의 평균 계산


#hostingforum.kr
php

use function Dsmap;

use function Ds
educe;



$map = map([

    'apple' => 5,

    'banana' => 10,

    'orange' => 15,

]);



$result = reduce($map, function ($carry, $key, $value) {

    return $carry + $value;

}, 0) / count($map);



echo $result; // 10



예제 3: Map 객체의 모든 요소의 최대값 찾기


#hostingforum.kr
php

use function Dsmap;

use function Ds
educe;



$map = map([

    'apple' => 5,

    'banana' => 10,

    'orange' => 15,

]);



$result = reduce($map, function ($carry, $key, $value) {

    return max($carry, $value);

}, -INF);



echo $result; // 15



reduce 메서드는 Map 객체의 모든 요소를 처리하여 결과를 반환합니다. 콜백 함수를 사용하여 다양한 연산을 수행할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색