라이브러리
[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 인스턴스로 선언되어야 합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.