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


PHP RecursiveArrayIterator::current方法代码示例

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


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

示例1: traverse

function traverse(RecursiveArrayIterator $iterator)
{
    while ($iterator->valid()) {
        if ($iterator->hasChildren()) {
            printf("HasChild: %s\n", $iterator->key());
            traverse($iterator->getChildren());
        } else {
            printf("%s => %s\n", $iterator->key(), $iterator->current());
        }
        $iterator->next();
    }
}
开发者ID:Eldahar,项目名称:PHP_Library,代码行数:12,代码来源:RecursiveArrayIterator1.php

示例2: walkArray

 /**
  * Walks through array
  * @param $array
  * @param $callback callable function($path, $value)
  */
 public static function walkArray($array, $callback, $iterator = null, $prefix = '')
 {
     if (is_null($iterator)) {
         $iterator = new \RecursiveArrayIterator($array);
     }
     while ($iterator->valid()) {
         if ($iterator->hasChildren()) {
             self::walkArray(null, $callback, $iterator->getChildren(), $prefix . '.' . $iterator->key());
         } else {
             call_user_func($callback, ltrim($prefix . '.' . $iterator->key(), '.'), $iterator->current());
         }
         $iterator->next();
     }
 }
开发者ID:myurasov,项目名称:mym-utils,代码行数:19,代码来源:Arrays.php

示例3: buildResources

 /**
  * @param \RecursiveArrayIterator $iterator
  * @return mixed
  * @throws \Symfony\Component\HttpKernel\Exception\HttpException
  */
 protected function buildResources(\RecursiveArrayIterator $iterator)
 {
     if (count($this->mapping) == 0) {
         throw new HttpException(Codes::HTTP_BAD_REQUEST, 'Unable to generate CMMI Data, no mapping is known');
     }
     $this->resource = new Resource(new Link($this->request->getUri(), 'self'));
     if ($iterator->hasChildren()) {
         while ($iterator->valid()) {
             $childItem = $iterator->current();
             $this->addResource(new \RecursiveArrayIterator($childItem));
             $iterator->next();
         }
     } else {
         $this->addResource($iterator);
     }
     return $this->resource;
 }
开发者ID:pitoukhmer,项目名称:protalk,代码行数:22,代码来源:CMMIDataHelper.php

示例4: getChildren

 public function getChildren()
 {
     $section = parent::current();
     return new self($section['topics'], 0, $this->path . '/' . $this->key());
 }
开发者ID:googlecode-mirror,项目名称:bulldoc,代码行数:5,代码来源:toc_manipulation.php

示例5: RecursiveArrayIterator

 function array_get($array, $searched, $index)
 {
     $aIt = new RecursiveArrayIterator($array);
     $it = new RecursiveIteratorIterator($aIt);
     while ($it->valid()) {
         if ((isset($index) and $it->key() == $index or !isset($index)) and $it->current() == $searched) {
             $c = $aIt->current();
             return $c;
             //				return $c[$key];
         }
         $it->next();
     }
     return FALSE;
 }
开发者ID:BGCX261,项目名称:zillatek-project-svn-to-git,代码行数:14,代码来源:MY_array_helper.php

示例6: current

 function current()
 {
     $x = parent::current();
     return new FileTag($x, $this->dir, $this->_packagefile);
 }
开发者ID:helgi,项目名称:Pyrus,代码行数:5,代码来源:FileContents.php

示例7: RecursiveArrayIterator

    </div>
    <div>
        <label for="directions">Input string for directions</label>
        <input type="text" name="directions">
    </div>
    <input type="submit" name="submit" value="Go!">
</form>


<?php 
$move_data = str_split($directions);
//var_dump($move_data);
$recusive = new RecursiveArrayIterator($move_data);
$reverse = 0;
while ($recusive->valid()) {
    $direction = $recusive->current();
    if ($direction == '~') {
        $reverse++;
        $recusive->next();
    } else {
        if ($reverse % 2) {
            if ($direction == '>') {
                $_x++;
            } elseif ($direction == '<') {
                $_x--;
            } elseif ($direction == 'v') {
                $_y++;
            } elseif ($direction == '^') {
                $_y--;
            }
        } else {
开发者ID:jokuf,项目名称:solutions,代码行数:31,代码来源:points-solution.php

示例8: fetchCategoriesWithProducts

 /**
  * @param RecursiveArrayIterator $iterator
  */
 public function fetchCategoriesWithProducts(RecursiveArrayIterator $iterator)
 {
     while ($iterator->valid()) {
         if ($iterator->hasChildren()) {
             $this->fetchCategoriesWithProducts($iterator->getChildren());
         } else {
             if ($iterator->key() == 'countProducts' && $iterator->current() != '0') {
                 $this->_categoryWithProducts[$iterator->offsetGet('id')] = array('name' => $iterator->offsetGet('name'), 'full_path' => $iterator->offsetGet('full_path'), 'countProduct' => $iterator->offsetGet('countProducts'));
             }
             /*$this->_categoryWithProducts[$iterator->offsetGet('id')] =
               $iterator->offsetGet('countProducts');*/
         }
         $iterator->next();
     }
 }
开发者ID:Alpha-Hydro,项目名称:alpha-hydro-antares,代码行数:18,代码来源:CsvCatalogGeneratorController.php

示例9: getChildren

 function getChildren()
 {
     return new SimpleXpathStructure(parent::current());
 }
开发者ID:browniebraun,项目名称:php-src,代码行数:4,代码来源:xml_xpath_tree.php

示例10: array

 function traverse_structure($ids)
 {
     $return_ids = array();
     $iterator = new RecursiveArrayIterator($ids);
     while ($iterator->valid()) {
         if ($iterator->hasChildren()) {
             $return_ids = array_merge($return_ids, $this->traverse_structure($iterator->getChildren()));
         } else {
             if ($iterator->key() == 'int') {
                 $return_ids = array_merge($return_ids, array($iterator->current()));
             }
         }
         $iterator->next();
     }
     return $return_ids;
 }
开发者ID:AndyRocioGtz,项目名称:Registros,代码行数:16,代码来源:openerp.class.php

示例11: getColumns

 public function getColumns($table = NULL)
 {
     if ($table === NULL) {
         throw new \Exception("Please input a table name. - glDbMysql.php - line 89");
     }
     if (!in_array($table, $this->getTables())) {
         throw new \Exception("The table you're trying to query does not exist - glDbMysql.php - line 91");
     }
     $dbh = $this->getDbh();
     $stmt = $dbh->prepare("DESCRIBE " . $table);
     $success = $stmt->execute();
     $columnNames = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $iterator = new \RecursiveArrayIterator($columnNames);
     $fields = array();
     if ($success !== FALSE) {
         while ($iterator->valid()) {
             if ($iterator->hasChildren()) {
                 $childIterator = new \RecursiveArrayIterator($iterator->current());
                 while ($childIterator->valid()) {
                     if ($childIterator->key() == "Field") {
                         array_push($fields, $childIterator->current());
                     }
                     $childIterator->next();
                 }
             }
             $iterator->next();
         }
         return $fields;
     }
     $error = array('query' => "DESCRIBE " . $table, 'errorInfo' => $this->prepareErrorInfo($dbh->errorInfo()));
     $errorInfo = json_encode($error);
     throw new MysqlException($errorInfo);
 }
开发者ID:shavez00,项目名称:groceryList,代码行数:33,代码来源:gldbmysql.php

示例12: walkInputArray

 /**
  * Walks through input array
  *
  * @param        $array
  * @param        $callback callable function($path, $value)
  * @param null   $iterator
  * @param string $prefix
  */
 private function walkInputArray($array, $callback, $iterator = null, $prefix = '')
 {
     if (!$iterator) {
         $iterator = new \RecursiveArrayIterator($array);
     }
     while ($iterator->valid()) {
         $key = $iterator->key();
         if ($iterator->hasChildren()) {
             $this->walkInputArray(null, $callback, $iterator->getChildren(), $prefix . '.' . $key);
         } else {
             call_user_func($callback, ltrim($prefix . '.' . $key, '.'), $iterator->current());
         }
         $iterator->next();
     }
 }
开发者ID:myurasov,项目名称:rest-api-tools,代码行数:23,代码来源:AbstractRESTController.php

示例13: highlightElement

 private function highlightElement($indexArray, $menuArray = null, $nr = 0)
 {
     //index to get
     $i = $indexArray[$nr];
     //if menu is null take menuArray
     if ($menuArray == null) {
         $menuArray = $this->menuArray;
     }
     //create itterator
     $iter = new RecursiveArrayIterator($menuArray);
     //move to current index
     $iter->seek($i);
     //move down until we have found the element - then set the css-class for that element
     if (is_array($iter->current())) {
         $this->highlightElement($indexArray, $iter->getChildren(), $nr + 1);
     } else {
         $iter->current()->cssClass = $this->cssClass;
     }
 }
开发者ID:bthurvi,项目名称:oophp,代码行数:19,代码来源:CDynamicDropDownMenu.php

示例14: array

<?php

/*** an array of animal ***/
$animals = array(array('type' => 'dog', 'name' => 'butch', 'sex' => 'm', 'breed' => 'boxer'), array('type' => 'dog', 'name' => 'fido', 'sex' => 'm', 'breed' => 'doberman'), array('type' => 'dog', 'name' => 'girly', 'sex' => 'f', 'breed' => 'poodle'), array('type' => 'cat', 'name' => 'tiddles', 'sex' => 'm', 'breed' => 'ragdoll'), array('type' => 'cat', 'name' => 'tiddles', 'sex' => 'f', 'breed' => 'manx'), array('type' => 'cat', 'name' => 'tiddles', 'sex' => 'm', 'breed' => 'maine coon'), array('type' => 'horse', 'name' => 'ed', 'sex' => 'm', 'breed' => 'clydesdale'), array('type' => 'perl_coder', 'name' => 'shadda', 'sex' => 'none', 'breed' => 'mongrel'), array('type' => 'duck', 'name' => 'galapogus', 'sex' => 'm', 'breed' => 'pekin'));
/*** create a new recursive array iterator ***/
$iterator = new RecursiveArrayIterator(new ArrayObject($animals));
/*** traverse the $iterator object ***/
while ($iterator->valid()) {
    echo $iterator->key() . ' -- ' . $iterator->current() . '<br/>';
    $iterator->next();
}
开发者ID:AtiqulHaque,项目名称:phprightway,代码行数:11,代码来源:ReccursivrArrayClass.php

示例15: BuildFeed

    public function BuildFeed()
    {
        $xml = '<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>

';
        // build channel title
        for ($iterator = $this->FeedTitle->getIterator(); $iterator->valid(); $iterator->next()) {
            $xml .= '<' . $iterator->key() . '>' . $iterator->current() . '</' . $iterator->key() . '>' . "\n";
            if ('title' == $iterator->key()) {
                $xml .= $this->BuildFeedAtom();
            }
        }
        // build channel items
        $iterator = new RecursiveArrayIterator($this->FeedItems);
        while ($iterator->hasChildren()) {
            $xml .= '<item>' . "\n";
            for ($sub_iterator = $iterator->current()->getIterator(); $sub_iterator->valid(); $sub_iterator->next()) {
                if ('guid' == $sub_iterator->key()) {
                    $xml .= '<' . $sub_iterator->key() . ' isPermaLink ="' . ($sub_iterator->offsetGet('isPermaLink') ? 'true' : 'false') . '">' . $sub_iterator->current() . '</' . $sub_iterator->key() . '>' . "\n";
                } elseif ('isPermaLink' != $sub_iterator->key()) {
                    $xml .= '<' . $sub_iterator->key() . '>' . $sub_iterator->current() . '</' . $sub_iterator->key() . '>' . "\n";
                }
            }
            $xml .= '</item>' . "\n";
            $iterator->next();
        }
        $xml .= '</channel>
</rss>';
        return $xml;
    }
开发者ID:rjon76,项目名称:netspotapp,代码行数:32,代码来源:classFeed.php


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