라이브러리

[PHP] DsMap::filter - 호출 가능 항목을 사용하여 포함할 쌍을 결정하기 위한 새 맵을 만듭니다.




DsMap::filter란?

PHP 8.0 버전부터 소개된 `DsMap::filter`는 `DsMap` 객체에 대한 필터링 메서드입니다. 이 메서드는 `DsMap` 객체에 있는 모든 키-값 쌍을 필터링하여 새로운 `DsMap` 객체를 반환합니다.

DsMap::filter 사용법

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

#hostingforum.kr
php

DsMap::filter($callback)



* `$callback`: 필터링을 위한 콜백 함수입니다. 이 콜백 함수는 `$key`와 `$value`를 인자로 받아 `$value`를 반환하거나 `$value`를 수정할 수 있습니다.

예제 1: 필터링을 위한 콜백 함수

#hostingforum.kr
php

use function SplObjectStorageattach;

use function SplObjectStoragedetach;

use function SplObjectStorage
ewind;

use function SplObjectStoragevalid;

use function SplObjectStoragegetInfo;

use function DsMap;

use function DsMap::filter;



class Person {

    public $name;

    public $age;



    public function __construct($name, $age) {

        $this->name = $name;

        $this->age = $age;

    }

}



$people = new Map();

$people->attach(new Person('John', 25));

$people->attach(new Person('Jane', 30));

$people->attach(new Person('Bob', 20));



$filteredPeople = $people->filter(function ($person) {

    return $person->age > 25;

});



foreach ($filteredPeople as $person) {

    echo $person->name . ' ' . $person->age . "
";

}



이 예제에서는 `DsMap::filter` 메서드를 사용하여 `age`가 25보다 큰 사람만 필터링합니다.

예제 2: 필터링을 위한 콜백 함수 (값 수정)

#hostingforum.kr
php

use function DsMap;

use function DsMap::filter;



$numbers = new Map();

$numbers->attach(1);

$numbers->attach(2);

$numbers->attach(3);

$numbers->attach(4);

$numbers->attach(5);



$filteredNumbers = $numbers->filter(function ($value) {

    return $value * 2;

});



foreach ($filteredNumbers as $value) {

    echo $value . "
";

}



이 예제에서는 `DsMap::filter` 메서드를 사용하여 모든 값에 2를 곱하여 필터링합니다.

결론

`DsMap::filter` 메서드는 `DsMap` 객체에 대한 필터링 메서드입니다. 이 메서드는 필터링을 위한 콜백 함수를 인자로 받아 새로운 `DsMap` 객체를 반환합니다. 필터링을 위한 콜백 함수는 `$key`와 `$value`를 인자로 받아 `$value`를 반환하거나 `$value`를 수정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색