PHPWales 2020 - June 3rd to June 4th

AppendIterator::__construct

(PHP 5 >= 5.1.0, PHP 7)

AppendIterator::__constructAppendIterator を作成する

説明

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_keyFALSE を指定しなければなりません。 use_keyFALSE にしなければ、 内部イテレータに同名のキーが含まれていると 返される配列が上書きされてしまいます。 このときに元のキーの値を取得する方法はありません。

参考

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top