public function takeWhile($callable)
    {
        $newElements = array();

        for ($i=0,$c=count($this->elements); $i<$c; $i++) {
            if (call_user_func($callable, $this->elements[$i]) !== true) {
                break;
            }

            $newElements[] = $this->elements[$i];
        }

        return $this->createNew($newElements);
    }
public function takeWhile($callable)
    {
        $newElements = array();

        for ($i=0,$c=count($this->elements); $i<$c; $i++) {
            if (call_user_func($callable, $this->elements[$i]) !== true) {
                break;
            }

            $newElements[] = $this->elements[$i];
        }

        return $this->createNew($newElements);
    }
public function takeWhile ( $ callable ) { $ newElements = array ( ) ; for ( $ i = 0 , $ c = count ( $ this -> elements ) ; $ i < $ c ; $ i ++ ) { if ( call_user_func ( $ callable , $ this -> elements [ $ i ] ) !== true ) { break ; } $ newElements [ ] = $ this -> elements [ $ i ] ; } return $ this -> createNew ( $ newElements ) ; }
Extracts element from the head while the passed callable returns true.

@param callable $callable receives elements of this sequence as first argument, and returns true/false.

@return Sequence
Extracts element from the head while the passed callable returns true .