php8.5
Home/ Manual/ ds / map/ Ds\Map::intersect

Ds\Map::intersect

PHP function Edit on GitHub ✎

(PECL ds >= 1.0.0)

Creates a new map by intersecting keys with another map

Description

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}

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

  • Intersection on Wikipedia

Examples

Ds\Map::intersect() example

php
<?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:

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

Source: reference/ds/ds/map/intersect.xml · from the official PHP manual (php/doc-en)