Creates a new map by intersecting keys with another map

# Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Creates a new map by intersecting keys with another map

### 说明

public function Ds\Map::intersect(Ds\Map `$map`): Ds\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.

### 参数

`map`

  The other map, containing the keys to intersect with.

### 返回值

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

### 参见

- » Intersection on Wikipedia

### 示例

示例 #1 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));
    ?>

以上示例的输出类似于：

    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)
      }
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open