当前位置: 首页>>代码示例>>PHP>>正文


PHP Iterator::seek方法代码示例

本文整理汇总了PHP中Iterator::seek方法的典型用法代码示例。如果您正苦于以下问题:PHP Iterator::seek方法的具体用法?PHP Iterator::seek怎么用?PHP Iterator::seek使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Iterator的用法示例。


在下文中一共展示了Iterator::seek方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: seek

 /**
  * Seeks to defined position. Does NOT throw {@link \OutOfBoundsException}.
  *
  * @param integer $position New position
  */
 public function seek($position)
 {
     if ($this->iterator instanceof \SeekableIterator) {
         try {
             $this->iterator->seek($position);
         } catch (\OutOfBoundsException $e) {
             // Skipped on purpose, I don't think it's necessary
             // If you'd like to have this exception throw, remove this try-catch and add to 'else' block
             // If (!$this->valid()) { throw new \OutOfBoundsException('Invalid seek position'); };
         }
     } else {
         $this->rewind();
         for ($i = 0; $i < $position; $i++) {
             $this->next();
         }
     }
 }
开发者ID:jyxo,项目名称:php,代码行数:22,代码来源:MapIterator.php

示例2: seek

 /**
  * Seeks to a position.
  *
  * @param  int  $position
  * @return void
  * @throws \InvalidArgumentException when $position is not an integer.
  * @throws \OutOfBoundsException when the seek $position exeeds the traversable's length.
  */
 public function seek($position)
 {
     if (!$this->isInt($position)) {
         throw new InvalidArgumentException('Seek position must be an integer.');
     }
     $position = max(0, (int) $position);
     if ($this->length !== null && $this->length < $position) {
         throw new OutOfBoundsException('Invalid seek position (' . $position . ').');
     }
     if ($this->traversable()) {
         if ($this->traversable instanceof SeekableIterator) {
             $this->traversable->seek($position);
         } else {
             $this->traversable->rewind();
             for ($i = 0; $i < $position; $i++) {
                 $this->traversable->next();
             }
         }
     }
     $this->i = $position;
 }
开发者ID:CupOfTea696,项目名称:Counter,代码行数:29,代码来源:Counter.php

示例3: getErrors

    /**
     * Prototype getErrors
     *
     * This method is not used. It is currently a prototype, a holder
     * for reverse engineering the actions and finding the errors
     * in each of the actions and creating them in the database associating
     * them with actions.
     *
     * @param  Iterator $it  The iterator to fetch the parameters from
     * @param  string   $methodName The original method name to parse.
     * @return mixed    Either an array of error or false.
     */
    private function getErrors($it, $methodName)
    {
        $error  = array();
        $i = 0;
        while ($it->valid()) {
            $it->next();
            $mainKey = $key = $it->key();
            $current = $it->current();

            if ((double)$current[0] == T_CONSTANT_ENCAPSED_STRING) {

                $error[$methodName][$key][$i] = array();
                $error[$methodName][$key][$i]['name'] = $current[1];

                while ($it->valid()) {
                    $it->next();
                    $current = $it->current();

                    if ((double)$current[0] == T_CONSTANT_ENCAPSED_STRING) {
                        $error[$methodName][$key]['message'] = $current[1];

                        while ($it->valid()) {

                            $it->next();
                            $current = $it->current();
                            if ((double)$current[0] == T_LNUMBER) {
                                $error[$methodName][$key]['code'] = $current[1];

                            }
                        }
                    } else {
                        if ($it->offsetExists($mainKey)) {
                            $it->seek($mainKey);
                        }
                    }
                }

                ++$i;
            } else {

            }
        }

        return !empty($error) ? $error : false;
    }
开发者ID:reith2004,项目名称:frapi,代码行数:57,代码来源:ActionController.php


注:本文中的Iterator::seek方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。