• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ArrayIterator::current()

    (PHP 5,PHP 7)

    Return current array entry

    说明

    publicArrayIterator::current(void) : mixed

    Get the currentarrayentry.

    参数

    此函数没有参数。

    返回值

    The currentarrayentry.

    范例

    Example#1ArrayIterator::current()example

    <?php
    $array = array('1' => 'one',
                   '2' => 'two',
                   '3' => 'three');
    $arrayobject = new ArrayObject($array);
    for($iterator = $arrayobject->getIterator();
        $iterator->valid();
        $iterator->next()) {
        echo $iterator->key() . ' => ' . $iterator->current() . "\n";
    }
    ?>
    

    以上例程会输出:

    1 => one
    2 => two
    3 => three
    
    ArrayIterator is only used for interating simple arrays of which the value part is not another array. You can test it with a more complex array like this:
    $arr = array (
      \\\'Section 1\\\' => array (
        \\\'Cat 1\\\' => array (
          1 => array (
            1 => \\\'So 1\\\',
            2=> \\\'So 2\\\'
          ),
          2 => \\\'So 2\\\'
        ),
        
        \\\'Cat 2\\\' => array (
          \\\'Sub-cat 1\\\' => array (
            1 => \\\'So 1\\\',
            2=> \\\'So 2\\\'
          ),
          \\\'Sub-cat 2\\\' => \\\'So 2\\\'
        )
      ),
      
      \\\'Section 2\\\' => array (
        \\\'Cat 1\\\' => array (  
          
        ),
        
        \\\'Cat 2\\\' => array (
          \\\'Sub-cat 1\\\' => array (
            1 => \\\'So 1\\\',
            2=> \\\'So 2\\\'
          ),
          \\\'Sub-cat 2\\\' => \\\'So 2\\\'
        )
      )
    );
    $arrayobject = new ArrayObject($arr);
    for($iterator = $arrayobject->getIterator();
      $iterator->valid();
      $iterator->next()) {
      echo $iterator->key() . \\\' => \\\' . $iterator->current() . \\\"<br />\\\";
    }
    The above scriptlet will return
    Section 1 => Array 
    Section 2 => Array 
    because it can not recursively iterate throught the array.
    Do the following instead (in PHP5.1):
    $arrayIterator = new RecursiveArrayIterator($arr);
    $iterator = new RecursiveIteratorIterator($arrayIterator);
    foreach ($iterator as $val) {
      echo $val.\\\'<br/>\\\';
    }