public function take($key)
    {
        $take = [];

        $key = $this->getKey($key);

        $this->walk(function ($_value_, $_key_) use ($key, & $take)
        {
            if ($_key_ == $key) $take[] = $_value_;

        }, true);

        return new static($take);
    }
public function take($key)
    {
        $take = [];

        $key = $this->getKey($key);

        $this->walk(function ($_value_, $_key_) use ($key, & $take)
        {
            if ($_key_ == $key) $take[] = $_value_;

        }, true);

        return new static($take);
    }
public function take ( $ key ) { $ take = [ ] ; $ key = $ this -> getKey ( $ key ) ; $ this -> walk ( function ( $ _value_ , $ _key_ ) use ( $ key , & $ take ) { if ( $ _key_ == $ key ) $ take [ ] = $ _value_ ; } , true ) ; return new static ( $ take ) ; }
Take all items recursively by key.

@param mixed $key
@return static
Take all items recursively by key .