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

# ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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

### 説明

public function ArrayObject::setIteratorClass(string `$iteratorClass`): void

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

### パラメータ

`iteratorClass`

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

### 戻り値

値を返しません。

### 例

例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');
    var_dump($fruitsArrayObject->getIterator());

    ?>

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

    object(MyArrayIterator)#2 (1) {
      ["storage":"ArrayIterator":private]=>
      object(ArrayObject)#1 (1) {
        ["storage":"ArrayObject":private]=>
        array(4) {
          ["lemons"]=>
          int(1)
          ["oranges"]=>
          int(4)
          ["bananas"]=>
          int(5)
          ["apples"]=>
          int(10)
        }
      }
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open