AppendIterator::__construct
(PHP 5 >= 5.1.0, PHP 7)
AppendIterator::__construct — AppendIterator を作成する
説明
public AppendIterator::__construct ( )
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
にしなければ、
内部イテレータに同名のキーが含まれていると
返される配列が上書きされてしまいます。
このときに元のキーの値を取得する方法はありません。