« Ds\Map::hasValue
Ds\Map::isEmpty »

Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Creates a new map by intersecting keys with another map

説明

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

Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map.

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

注意:

Values from the current instance will be kept.

パラメータ

map

The other map, containing the keys to intersect with.

戻り値

The key intersection of the current instance and another map.

参考

例

例1 Ds\Map::intersect() example

<?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)
  }
}
関連キーワード:
keys   intersect   Creates   current   instance   intersecting   containing   also   Pair   hasValue   isEmpty   pairs   present   given   words   copy   removed   Values   kept   intersection   参考   Intersection   Wikipedia   example   dump
関連する関数・ページ:
ds-set.intersect   ds-map.xor   ds-map.keys   ds-map.diff   ds-map.union   function.array-intersect