iterator_to_array

Copy the iterator into an array

&reftitle.description; `array` `iterator_to_array` ``Traversable``array```iterator` `bool` `preserve_keys`&true;

Copy the elements of an iterator into an array.

&reftitle.parameters;

`iterator`

- The iterator being copied.

`preserve_keys`

- Whether 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.

  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 to &false; to get all the values in any case.

&reftitle.returnvalues;

An `array` containing the elements of the `iterator`.

&reftitle.changelog;

&Version; | &Description;
8.2.0 | The type of `iterator` has been widened from `Traversable` to ``Traversable``array``.

&reftitle.examples;

### `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));
    ?>

&example.outputs;

    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"
    }