(PECL ds >= 1.0.0)
Ds\Map::intersect — Cria um novo mapa intersectando chaves com outro mapa
Cria um novo mapa contendo os pares da instância atual cujas chaves
também estão presentes no map fornecido.
Em outras palavras, retorna uma cópia da instância atual com todas as chaves removidas que
não estão no outro map.
A ∩ B = {x : x ∈ A ∧ x ∈ B}
Nota:
Os valores da instância atual serão mantidos.
mapO outro mapa, contendo as chaves para intersectar.
A interseção de chaves da instância atual e outro map.
Exemplo #1 Exemplo 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));
?>O exemplo acima produzirá algo semelhante a:
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)
}
}