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