iterator_to_array

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

iterator_to_arrayКопирует итератор в массив

Описание

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

Копирует элементы итератора в массив.

Список параметров

iterator

Копируемый итератор.

preserve_keys

Следует ли использовать ключи элементов итератора как индексы.

Если ключ является массивом (array) или объектом (object), то бросается предупреждение. Ключи со значением null преобразуются в пустую строку, ключи в виде чисел с плавающей точкой (float) обрезаются до их целочисленных (int) частей, ключи с ресурсами (resource) бросают предупреждение и преобразуются в их идентификаторы ресурса, а логические (bool) ключи преобразуются в целые числа.

Замечание:

Если параметр не задан, либо задан как true, дублирующиеся ключи будут перезаписаны. Последнее значение с заданным ключом будет в результирующем массиве. Установите этот параметр равным false для получения всех значений.

Возвращаемые значения

Массив, содержащий элементы iterator.

Список изменений

Версия Описание
8.2.0 Тип параметра iterator был расширен с Traversable до Traversable|array.

Примеры

Пример #1 Пример использования iterator_to_array()

<?php
$iterator
= new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

Результат выполнения приведённого примера:

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