Comparator classes supporting operations on sets
I don't know if something can be too DRY.  Too abstract perhaps.  


    public function rightComplement($args = null)  {
        $complement = self::$setB

        if ($args === null)  {
            $this-&gt;iterate(self::$setA, __FUNCTION__);
        }  else  {
            unset ($complement[$args['k']][$args['k2']][$args['k3']]);
        }



PHP has closures.  You don't need this pattern.  Consider 

    public function rightComplement()  {
        $complement = self::$setB;

        $this-&gt;iterate(self::$setA, function($i, $j, $k, $element) use ($complement) {
            unset($complement[$i][$j][$k]);
        });


Now rather than having two ways to call the function, one of which indirectly calls the other, there is one way.  We use the closure to provide the single element behavior instead.  

I like this better than either of your choices, as it is more direct about what it does than the second.  And it is DRYer than the first version.  We call iterate with a closure that handles each element.  

You don't complete the implementation for the other function, so I didn't try to duplicate it.