(PECL ds >= 1.0.0)
Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both.
$set
   )
    Creates a new set containing values in the current instance as well as another set,
    but not in both.
  
    A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}
  
setThe other set.
        A new set containing values in the current instance as well as another set,
        but not in both.
    
Example #1 Ds\Set::xor() example
<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);
var_dump($a->xor($b));
?>
The above example will output something similar to:
object(Ds\Set)#3 (4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(4)
  [3]=>
  int(5)
}