PHP 8.5.0 Beta 2 available for testing

ArrayObject::setIteratorClass

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

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

説明

public 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)
    }
  }
}

add a note

User Contributed Notes

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