AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

# AppendIterator::__construct

(PHP 5 >= 5.1.0)

AppendIterator::__construct — AppendIterator を作成する

### 説明

public AppendIterator::__construct() ( void )

AppendIterator を作成します。

### パラメータ

この関数にはパラメータはありません。

### 返り値

値を返しません。

### 例

例1 AppendIterator の 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

例2 AppendIterator API による AppendIterator の処理

`<?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

### 注意

警告

iterator_to_array() を使って AppendIterator の値を配列にコピーするときは、 オプションの引数 `use_key` に `FALSE` を指定しなければなりません。 `use_key` を `FALSE` にしなければ、 内部イテレータに同名のキーが含まれていると 返される配列が上書きされてしまいます。 このときに元のキーの値を取得する方法はありません。

### 参考

- AppendIterator::append() - イテレータを追加する

AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual