GoLang Ds\Map::intersect

request it (100)
GoLang replacement for PHP's Ds\Map::intersect [edit | history]



Do you know a GoLang replacement for PHP's Ds\Map::intersect? Write it!

PHP Ds\Map::intersect

PHP original manual for Ds\Map::intersect [ show | php.net ]

Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersectCreates a new map by intersecting keys with another map

Description

public Ds\Map Ds\Map::intersect ( Ds\Map $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}

Note:

Values from the current instance will be kept.

Parameters

map

The other map, containing the keys to intersect with.

Return Values

The key intersection of the current instance and another map.

See Also

Examples

Example #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));
?>

The above example will output something similar to:

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