(PHP 5 >= 5.1.0, PHP 7, PHP 8)
iterator_to_array — Copy the iterator into an array
Copy the elements of an iterator into an array.
iteratorThe iterator being copied.
preserve_keysWhether to use the iterator element keys as index.
       If a key is an array or
       object, a warning will be generated. null keys will be
       converted to an empty string, float keys will be
       truncated to their int counterpart,
       resource keys will generate a warning and be converted to
       their resource ID, and bool keys will be converted to
       integers.
      
Note:
If this parameter is not set or set to
true, duplicate keys will be overwritten. The last value with a given key will be in the returned array. Set this parameter tofalseto get all the values in any case.
   An array containing the elements of the iterator.
  
| Version | Description | 
|---|---|
| 8.2.0 | The type of iteratorhas been widened from
       Traversable to
       Traversable|array. | 
Example #1 iterator_to_array() example
<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>
The above example will output:
array(4) {
  ["recipe"]=>
  string(8) "pancakes"
  [0]=>
  string(3) "egg"
  [1]=>
  string(4) "milk"
  [2]=>
  string(5) "flour"
}
array(4) {
  [0]=>
  string(8) "pancakes"
  [1]=>
  string(3) "egg"
  [2]=>
  string(4) "milk"
  [3]=>
  string(5) "flour"
}