(PECL ds >= 1.0.0)
Ds\Map::intersect — Создаёт новую коллекцию пар, созданную пересечением с другой коллекцией пар
Создаёт новую коллекцию пар из текущей, содержащую элементы, ключи которых
присутствуют как в текущей коллекции, так и в переданной в параметре
map
.
Другими словами, возвращает копию текущей коллекции, из которой удалены все
элементы, ключи которых отсутствуют в коллекции из map
.
A ∩ B = {x : x ∈ A ∧ x ∈ B}
Замечание:
Значения берутся из текущей коллекции пар.
map
Новая коллекция типа Map.
Пересечение текущей коллекции и переданной в map
.
Пример #1 Пример использования 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));
?>
Вывод приведённого примера будет похож на:
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) } }