iterator_to_array

(PHP 5 >= 5.1.0, PHP 7)

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

Описание

iterator_to_array ( Traversable $iterator [, bool $use_keys = TRUE ] ) : array

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

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

iterator

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

use_keys

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

В PHP 5.5 и новее, если ключ является массивом (array) или объектом (object), то бросается предупреждение. Ключи со значением NULL преобразуются в пустую строку, ключи в виде чисел с плавающей точкой (float) обрезаются до их целочисленных (integer) частей, ключи с ресурсами (resource) бросают предупреждение и преобразуются в их идентификаторы ресурса, а логические (boolean) ключи преобразуются в целые числа.

Замечание:

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

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

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

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

Версия Описание
5.5.0 iterator_to_array() стал поддерживать ключи с типами, отличными от integer и string, если включен параметр use_keys.
5.2.1 Добавлен параметр use_keys.

Примеры

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

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

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

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