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

    (PHP 5>=5.1.0,PHP 7)

    Constructs an AppendIterator

    说明

    publicAppendIterator::__construct(void)

    Constructs an AppendIterator.

    参数

    此函数没有参数。

    返回值

    没有返回值。

    范例

    Example#1 Iterating AppendIterator with foreach

    <?php
    $pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
    $toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
    $appendIterator = new AppendIterator;
    $appendIterator->append($pizzas);
    $appendIterator->append($toppings);
    foreach ($appendIterator as $key => $item) {
        echo $key . ' => ' . $item . PHP_EOL;
    }
    ?>
    

    以上例程会输出:

    0 => Margarita
    1 => Siciliana
    2 => Hawaii
    0 => Cheese
    1 => Anchovies
    2 => Olives
    3 => Pineapple
    4 => Ham
    

    Example#2 Iterating AppendIterator with the AppendIterator API

    <?php
    $pizzas   = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
    $toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
    $appendIterator = new AppendIterator;
    $appendIterator->append($pizzas);
    $appendIterator->append($toppings);
    while ($appendIterator->valid()) {
        printf(
            '%s => %s => %s%s',
            $appendIterator->getIteratorIndex(),
            $appendIterator->key(),
            $appendIterator->current(),
            PHP_EOL
        );
        $appendIterator->next();
    }
    ?>
    

    以上例程会输出:

    0 => 0 => Margarita
    0 => 1 => Siciliana
    0 => 2 => Hawaii
    1 => 0 => Cheese
    1 => 1 => Anchovies
    1 => 2 => Olives
    1 => 3 => Pineapple
    1 => 4 => Ham
    

    注释

    Caution

    When usingiterator_to_array()to copy the values of the AppendIterator into an array,you have to set the optional$use_keyargument toFALSE.When$use_keyis notFALSEany keys reoccuring in inner iterators will get overwritten in the returned array.There is no way to preserve the original keys.

    参见

    • AppendIterator::append() Appends an iterator