當前位置: 首頁>>代碼示例>>PHP>>正文


PHP FilterIterator::key方法代碼示例

本文整理匯總了PHP中FilterIterator::key方法的典型用法代碼示例。如果您正苦於以下問題:PHP FilterIterator::key方法的具體用法?PHP FilterIterator::key怎麽用?PHP FilterIterator::key使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在FilterIterator的用法示例。


在下文中一共展示了FilterIterator::key方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: accept

 /**
  * @return bool
  */
 public function accept()
 {
     $key = parent::key();
     $innerIterator = $this->getInnerIterator();
     $token = $innerIterator[$key - $this->offset];
     $label = null;
     if (is_array($token)) {
         $label = $token[0];
     } elseif (is_string($token)) {
         $label = $token;
     }
     return in_array($label, $this->allowedTokens);
 }
開發者ID:jeabakker,項目名稱:code_review,代碼行數:16,代碼來源:PhpTokensFilterIterator.php

示例2: accept

 /**
  * ( excerpt from http://php.net/manual/en/regexiterator.accept.php )
  *
  * Matches (string) RegexIterator::current() (or RegexIterator::key() if
  * the RegexIterator::USE_KEY flag is set) against the regular expression.
  *
  * @return boolean TRUE if a match, FALSE otherwise.
  */
 public function accept()
 {
     $this->key = parent::key();
     $this->current = parent::current();
     $matches = array();
     $useKey = $this->flags & self::USE_KEY;
     $subject = $useKey ? (string) $this->key : (string) $this->current;
     switch ($this->mode) {
         case self::MATCH:
             $ret = preg_match($this->regex, $subject, $matches, $this->pregFlags) > 0;
             break;
         case self::GET_MATCH:
             $this->current = array();
             $ret = preg_match($this->regex, $subject, $this->current, $this->pregFlags) > 0;
             break;
         case self::ALL_MATCHES:
             $this->current = array();
             preg_match_all($this->regex, $subject, $this->current, $this->pregFlags);
             $ret = count($this->current) > 0;
             break;
         case self::SPLIT:
             $this->current = preg_split($this->regex, $subject, null, $this->pregFlags);
             $ret = $this->current && count($this->current) > 1;
             break;
         case self::REPLACE:
             $replace_count = 0;
             $result = preg_replace($this->regex, $this->replacement, $subject, -1, $replace_count);
             if ($result === null || $replace_count == 0) {
                 $ret = false;
                 break;
             }
             if ($useKey) {
                 $this->key = $result;
                 $ret = true;
                 break;
             }
             $this->current = $result;
             $ret = true;
             break;
         default:
             $ret = false;
             break;
     }
     if ($this->flags & self::INVERT_MATCH) {
         return !$ret;
     } else {
         return $ret;
     }
 }
開發者ID:alphaxxl,項目名稱:hhvm,代碼行數:57,代碼來源:RegexIterator.php

示例3: accept

 /** Call the filter callback
  * @return result of filter callback
  */
 public function accept()
 {
     $this->key = parent::key();
     $this->current = parent::current();
     switch ($this->mode) {
         default:
         case self::USE_FALSE:
             return false;
         case self::USE_TRUE:
             return true;
         case self::USE_VALUE:
             return (bool) call_user_func($this->callback, $this->current);
         case self::USE_KEY:
             return (bool) call_user_func($this->callback, $this->key);
         case self::USE_BOTH:
             return (bool) call_user_func($this->callback, $this->key, $this->current);
     }
 }
開發者ID:eugenehiggins,項目名稱:wordpress-intermediate,代碼行數:21,代碼來源:Sns_Callback_Filter_Iterator.php

示例4: current

 function current()
 {
     $xml = parent::current();
     if (isset($xml[0])) {
         $tasks = array();
         $task = str_replace(array($this->_tasksNs . ':', '-'), array('', ' '), parent::key());
         $task = str_replace(' ', '/', ucwords($task));
         $task = str_replace('/', '_', $task);
         $task = '\\Pyrus\\Task\\' . $task;
         foreach ($xml as $info) {
             $attribs = array();
             if (isset($xml['attribs'])) {
                 $attribs = $xml['attribs'];
             }
             $tasks[] = new $task($this->_parent, $this->_installphase, $info, $attribs, $this->lastversion);
         }
         $attribs = isset($this->_inner['attribs']) ? array($this->_inner['attribs']) : $this->_inner;
         // use proxy for multiple tasks
         return new \Pyrus\Task\MultipleProxy($this->_parent, $tasks, $attribs, $this->key());
     }
     $attribs = array();
     if (isset($xml['attribs'])) {
         $attribs = $xml['attribs'];
     }
     $task = \Pyrus\Task\Common::getTask(parent::key());
     if ($task === false) {
         throw new \RuntimeException('Unknown task `' . parent::key() . '` specified.');
     }
     return new $task($this->_parent, $this->_installphase, $xml, $attribs, $this->lastversion);
 }
開發者ID:peopleplan,項目名稱:Pyrus,代碼行數:30,代碼來源:TaskIterator.php

示例5: key

	public function key() {
		$this->init();
		return parent::key();
	}
開發者ID:nahoj,項目名稱:mediawiki_ynh,代碼行數:4,代碼來源:MappedIterator.php

示例6: accept

 public function accept()
 {
     return preg_match($this->regex, parent::key());
 }
開發者ID:xtrasmal,項目名稱:iinano,代碼行數:4,代碼來源:KeyRegexFilter.php

示例7: current

    function current()
    {
        $xml = parent::current();
        if (isset($xml[0])) {
            $tasks = array();
            $task = str_replace(array($this->_tasksNs . ':', '-'), array('', ' '), parent::key());
            $task = str_replace(' ', '/', ucwords($task));
            $task = str_replace('/', '_', $task);
            $task = '\PEAR2\Pyrus\Task\\' . $task;
            foreach ($xml as $info) {
                $attribs = array();
                if (isset($xml['attribs'])) {
                    $attribs = $xml['attribs'];
                }

                $tasks[] = new $task($this->_parent, $this->_installphase, $info, $attribs, $this->lastversion);
            }

            $attribs = isset($this->_inner['attribs']) ? array($this->_inner['attribs']) : $this->_inner;
            // use proxy for multiple tasks
            return new \PEAR2\Pyrus\Task\MultipleProxy($this->_parent, $tasks, $attribs, $this->key());
        }

        $attribs = array();
        if (isset($xml['attribs'])) {
            $attribs = $xml['attribs'];
        }

        $task = str_replace(array($this->_tasksNs . ':', '-'), array('', ' '), parent::key());
        $task = str_replace(' ', '/', ucwords($task));
        $task = str_replace('/', '_', $task);
        $task = '\PEAR2\Pyrus\Task\\' . $task;
        return new $task($this->_parent, $this->_installphase, $xml, $attribs, $this->lastversion);
    }
開發者ID:naderman,項目名稱:PEAR2_Pyrus,代碼行數:34,代碼來源:TaskIterator.php

示例8: accept

 public function accept()
 {
     $fn = $this->callback;
     return $fn(parent::current(), parent::key());
 }
開發者ID:Garcy111,項目名稱:Garcy-Framework-2,代碼行數:5,代碼來源:Filter.php


注:本文中的FilterIterator::key方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。