php8.5
Home/ Manual/ spl / functions/ iterator_to_array

iterator_to_array

PHP function Edit on GitHub ✎

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

Copy the iterator into an array

Description

iterator_to_array(Traversable|array $iterator, bool $preserve_keys = true): array

Copy the elements of an iterator into an array.

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.

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

Return Values

An array containing the elements of the iterator.

Changelog

VersionDescription
8.2.0The type of iterator has been widened from Traversable to Traversable|array.

Examples

iterator_to_array() example

php
<?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:

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

Source: reference/spl/functions/iterator-to-array.xml · from the official PHP manual (php/doc-en)