public function zip(array $observables, callable $selector = null)
    {
        return $this->lift(function () use ($observables, $selector) {
            return new ZipOperator($observables, $selector);
        });
    }
public function zip(array $observables, callable $selector = null)
    {
        return $this->lift(function () use ($observables, $selector) {
            return new ZipOperator($observables, $selector);
        });
    }
public function zip ( array $ observables , callable $ selector = null ) { return $ this -> lift ( function ( ) use ( $ observables , $ selector ) { return new ZipOperator ( $ observables , $ selector ) ; } ) ; }
Merges the specified observable sequences into one observable sequence by using the selector
function whenever all of the observable sequences have produced an element at a corresponding index. If the
result selector function is omitted, a list with the elements of the observable sequences at corresponding
indexes will be yielded.

@param array $observables
@param callable $selector
@return \Rx\Observable\AnonymousObservable
Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index . If the result selector function is omitted a list with the elements of the observable sequences at corresponding indexes will be yielded .