Ds\Map::intersect

Creates a new map by intersecting keys with another map

&reftitle.description; public `Ds\Map` `Ds\Map::intersect` `Ds\Map` `map`

Creates a new map containing the pairs of the current instance whose keys are also present in the given `map`. In other words, returns a copy of the current instance with all keys removed that are not also in the other `map`.

`A ∩ B = {x : x ∈ A ∧ x ∈ B}`

Values from the current instance will be kept.

&reftitle.parameters;

`map`

- The other map, containing the keys to intersect with.

&reftitle.returnvalues;

The key intersection of the current instance and another `map`.

&reftitle.seealso;

- Intersection on Wikipedia

&reftitle.examples;

### `Ds\Map::intersect` example

    <?php
    $a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
    $b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

    var_dump($a->intersect($b));
    ?>

&example.outputs.similar;

    object(Ds\Map)#3 (2) {
      [0]=>
      object(Ds\Pair)#4 (2) {
        ["key"]=>
        string(1) "b"
        ["value"]=>
        int(2)
      }
      [1]=>
      object(Ds\Pair)#5 (2) {
        ["key"]=>
        string(1) "c"
        ["value"]=>
        int(3)
      }
    }