(PECL ds >= 1.0.0)
Ds\Map::xor — Создаёт новую коллекцию пар из элементов, которые есть в одной из коллекций, но не в обеих одновременно
   Создаёт новую коллекцию пар из элементов, ключи которых есть в текущей коллекции,
   либо в переданной в map, но не в обеих одновременно.
  
   A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}
  
mapВторая коллекция пар.
   Новая коллекция пар из элементов, ключи которых есть в текущей коллекции,
   либо в переданной в map, но не в обеих одновременно.
  
Пример #1 Пример использования Ds\Map::xor()
<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);
print_r($a->xor($b));
?>Вывод приведённого примера будет похож на:
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )
    [1] => Ds\Pair Object
        (
            [key] => d
            [value] => 6
        )
)
