MathPHP\SetTheory\Set::intersect PHP Метод

intersect() публичный Метод

Example: {1, 2} ∩ {2, 3} = {2}
public intersect ( variadic $Bs ) : Set
$Bs variadic One or more sets
Результат Set
    public function intersect(Set ...$Bs) : Set
    {
        $other_members = [];
        foreach ($Bs as $B) {
            $B_members[] = $B->asArray();
        }
        $intersection = array_intersect_key($this->A, ...$B_members);
        return new Set($intersection);
    }

Usage Example

Пример #1
0
 public function testIntersectWithObjects()
 {
     $vector1 = new Vector([1, 2, 3]);
     $vector2 = new Vector([1, 2, 3]);
     $A = new Set([1, 2, $vector1]);
     $B = new Set([2, 3, $vector2]);
     $A∩B = $A->intersect($B);
     $expected = new Set([2]);
     $this->assertEquals($expected, $A∩B);
     $this->assertEquals($expected->asArray(), $A∩B->asArray());
     $A = new Set([1, 2, $vector1]);
     $B = new Set([2, 3, $vector2, $vector1]);
     $A∩B = $A->intersect($B);
     $expected = new Set([2, $vector1]);
     $this->assertEquals($expected, $A∩B);
     $this->assertEquals($expected->asArray(), $A∩B->asArray());
 }