public function iterateParts(callable $callable)
    {
        $parts = [];
        foreach ($this->_conditions as $k => $c) {
            $key =& $k;
            $part = $callable($c, $key);
            if ($part !== null) {
                $parts[$key] = $part;
            }
        }
        $this->_conditions = $parts;

        return $this;
    }
public function iterateParts(callable $callable)
    {
        $parts = [];
        foreach ($this->_conditions as $k => $c) {
            $key =& $k;
            $part = $callable($c, $key);
            if ($part !== null) {
                $parts[$key] = $part;
            }
        }
        $this->_conditions = $parts;

        return $this;
    }
public function iterateParts ( callable $ callable ) { $ parts = [ ] ; foreach ( $ this -> _conditions as $ k => $ c ) { $ key = & $ k ; $ part = $ callable ( $ c , $ key ) ; if ( $ part !== null ) { $ parts [ $ key ] = $ part ; } } $ this -> _conditions = $ parts ; return $ this ; }
Executes a callable function for each of the parts that form this expression.

The callable function is required to return a value with which the currently
visited part will be replaced. If the callable function returns null then
the part will be discarded completely from this expression.

The callback function will receive each of the conditions as first param and
the key as second param. It is possible to declare the second parameter as
passed by reference, this will enable you to change the key under which the
modified part is stored.

@param callable $callable The callable to apply to each part.
@return $this
Executes a callable function for each of the parts that form this expression .