ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7)

ArrayObject::setIteratorClassArrayObject のイテレータクラス名を設定する

説明

public ArrayObject::setIteratorClass ( string $iterator_class ) : void

配列イテレータのクラス名を設定します。これは ArrayObject::getIterator() で使います。

パラメータ

iterator_class

このオブジェクトの反復処理に使う配列イテレータのクラス名。

返り値

値を返しません。

例1 ArrayObject::setIteratorClass() の例

<?php
// 独自のイテレータ (ArrayIterator を継承したもの)
class MyArrayIterator extends ArrayIterator {
    
// 独自の実装
}

// フルーツの配列
$fruits = array("lemons" => 1"oranges" => 4"bananas" => 5"apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// イテレータのクラス名を新しく設定します
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

上の例の出力は以下となります。

MyArrayIterator Object
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)