MathPHP\SetTheory\Set::union PHP Method

union() public method

Example: {1, 2} ∪ {2, 3} = {1, 2, 3}
public union ( variadic $Bs ) : Set
$Bs variadic One or more sets
return Set
    public function union(Set ...$Bs) : Set
    {
        $union = $this->A;
        $new_members = [];
        foreach ($Bs as $B) {
            $new_members += array_diff_key($B->asArray(), $union);
        }
        foreach ($new_members as $member => $value) {
            $union[$member] = $value;
        }
        return new Set($union);
    }

Usage Example

Ejemplo n.º 1
0
 public function testUnionWithObjects()
 {
     $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->union($B);
     $expected = new Set([1, 2, $vector1, 3, $vector2]);
     $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->union($B);
     $expected = new Set([1, 2, $vector1, 3, $vector2]);
     $this->assertEquals($expected, $A∪B);
     $this->assertEquals($expected->asArray(), $A∪B->asArray());
 }