(PECL ds >= 1.0.0)
Ds\Map::intersect — 通过与另一个映射交叉键来创建新的映射
创建一个新的映射,其中包含当前实例的键值对,这些键值对也存在于给定的 map
中。换句话说,返回当前实例的副本,其中删除了所有不在另一个 map
中的键。
A ∩ B = {x : x ∈ A ∧ x ∈ B}
注意:
将保留当前实例中的值。
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) } }