array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'arrayobject.getiteratorclass.php', 1 => 'ArrayObject::getIteratorClass', ), 'up' => array ( 0 => 'class.arrayobject.php', 1 => 'ArrayObject', ), 'prev' => array ( 0 => 'arrayobject.getiterator.php', 1 => 'ArrayObject::getIterator', ), 'next' => array ( 0 => 'arrayobject.ksort.php', 1 => 'ArrayObject::ksort', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/spl/arrayobject/getiteratorclass.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
ArrayObject::getIteratorClass — ArrayObject のイテレータクラス名を取得する
配列イテレータのクラス名を取得します。これは ArrayObject::getIterator() で使います。
この関数にはパラメータはありません。
このオブジェクトの反復処理に使うイテレータのクラス名を返します。
例1 ArrayObject::getIteratorClass() の例
<?php
// 独自のイテレータ (ArrayIterator を継承したもの)
class MyArrayIterator extends ArrayIterator {
// 独自の実装
}
// フルーツの配列
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
$fruitsArrayObject = new ArrayObject($fruits);
// 現在のクラス名を取得します
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
// 新しいクラス名を設定します
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
// 新しいイテレータクラス名を取得します
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>
上の例の出力は以下となります。
string(13) "ArrayIterator" string(15) "MyArrayIterator"