# Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Créer une nouvelle carte en intersectant les clés avec une autre carte

### Description

public Ds\Map::intersect(Ds\Map `$map`): Ds\Map

Créer une nouvelle carte contenant les paires de l'instance actuelle dont les clés sont également présentes dans la `map` donnée. En d'autres termes, renvoie une copie de l'instance actuelle avec toutes les clés supprimées qui ne sont pas également dans l'autre `map`.

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

> Note:

> Les valeurs de l'instance actuelle seront conservées.

### Liste de paramètres

`map`

  L'autre carte, contenant les clés à intersecter.

### Valeurs de retour

L'intersection des clés de l'instance actuelle et d'une autre `map`.

### Voir aussi

- » Intersection sur Wikipedia

### Exemples

Exemple #1 Exemple de Ds\Map::intersect()

`<?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));
?>`

Résultat de l'exemple ci-dessus est similaire à :

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