라이브러리

[PHP] DsSet::xor - 현재 인스턴스 또는 다른 세트의 값을 사용하여 새 세트를 생성하지만 두 세트 모두의 값은 생성하지 않습니다.




PHP 에서 DsSet::xor은 두 집합의 교집합을 구하는 메서드입니다. 교집합은 두 집합의 공통 요소를 포함하는 집합입니다.

DsSet::xor 메서드는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
php

DsSet::xor($set1, $set2)



* `$set1` : 첫 번째 집합
* `$set2` : 두 번째 집합

DsSet::xor 메서드는 두 집합의 교집합을 반환합니다.

예제


#hostingforum.kr
php

use function SplObjectStorage::attach;

use function SplObjectStorage::detach;

use function SplObjectStorage::contains;

use function SplObjectStorage::count;

use function SplObjectStorage::getInfo;

use function SplObjectStorage::rewind;

use function SplObjectStorage::valid;

use function SplObjectStorage::detachAll;

use function SplObjectStorage::containsAll;

use function SplObjectStorage::countAll;

use function SplObjectStorage::getInfoAll;

use function SplObjectStorage::rewindAll;

use function SplObjectStorage::validAll;

use function SplObjectStorage::attachAll;

use function SplObjectStorage::detachAll;

use function SplObjectStorage::containsAll;

use function SplObjectStorage::countAll;

use function SplObjectStorage::getInfoAll;

use function SplObjectStorage::rewindAll;

use function SplObjectStorage::validAll;

use function SplObjectStorage::xor;

use function SplObjectStorage::symmetricDifference;

use function SplObjectStorage::intersect;



// 집합 1

$set1 = new SplObjectStorage();

$obj1 = new stdClass();

$obj1->name = 'apple';

$obj1->price = 1000;

$set1->attach($obj1);



$obj2 = new stdClass();

$obj2->name = 'banana';

$obj2->price = 2000;

$set1->attach($obj2);



$obj3 = new stdClass();

$obj3->name = 'orange';

$obj3->price = 3000;

$set1->attach($obj3);



// 집합 2

$set2 = new SplObjectStorage();

$obj4 = new stdClass();

$obj4->name = 'apple';

$obj4->price = 1000;

$set2->attach($obj4);



$obj5 = new stdClass();

$obj5->name = 'grape';

$obj5->price = 4000;

$set2->attach($obj5);



$obj6 = new stdClass();

$obj6->name = 'orange';

$obj6->price = 3000;

$set2->attach($obj6);



// 교집합

$intersection = SplObjectStorage::xor($set1, $set2);



// 교집합 요소 출력

foreach ($intersection as $obj) {

    echo $obj->name . ' ' . $obj->price . "
";

}



위 예제에서, 집합 1과 집합 2의 교집합은 `apple`와 `orange`만 포함합니다.

참고


* PHP 7.2 이상에서만 사용할 수 있습니다.
* SplObjectStorage 클래스를 사용해야 합니다.
* 교집합을 구하려면 두 집합이 SplObjectStorage 인스턴스로 선언되어야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색