The ArrayObject::setIteratorClass() function is an inbuilt function in PHP which is used to set the iterator classname for the ArrayObject.
Syntax:
void ArrayObject::setIteratorClass( string $iterator_class )
Parameters: This function accepts single parameter $iterator_class which holds the class name of the array iterator. It is used when iterating it over this object.
Return Value: This function does not return any value.
Below programs illustrate the ArrayObject::setIteratorClass() function in PHP:
Program 1:
<?php // PHP program to illustrate the // ArrayObject::setIteratorClass() function // Custom ArrayIterator (inherits from ArrayIterator) class iteratorClass extends ArrayIterator { } // Create array object $arrayObjectElement = new ArrayObject( array ( 'Geeks' , 'for' , 'Geeks' ) ); // Use ArrayObject::setIteratorClass() function // to set the iterator classname for the ArrayObject $arrayObjectElement ->setIteratorClass( 'iteratorClass' ); print_r( $arrayObjectElement ->getIterator()); ?> |
iteratorClass Object ( [storage:ArrayIterator:private] => ArrayObject Object ( [storage:ArrayObject:private] => Array ( [0] => Geeks [1] => for [2] => Geeks ) ) )
Program 2:
<?php // PHP program to illustrate the // ArrayObject::setIteratorClass() function // Custom ArrayIterator (inherits from ArrayIterator) class iteratorClass extends ArrayIterator { } // Declare an associative array $arr = array ( "a" => "Welcome" , "b" => "to" , "d" => "neveropen" ); // Create array object $arrayObjectElement = new ArrayObject( $arr ); // Use ArrayObject::setIteratorClass() function // to set the iterator classname for the ArrayObject $arrayObjectElement ->setIteratorClass( 'iteratorClass' ); print_r( $arrayObjectElement ->getIterator()); ?> |
iteratorClass Object ( [storage:ArrayIterator:private] => ArrayObject Object ( [storage:ArrayObject:private] => Array ( [a] => Welcome [b] => to [d] => neveropen ) ) )
Reference: https://www.php.net/manual/en/arrayobject.setiteratorclass.php