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