Using the boolean param :
<?php
$first = new ArrayIterator( array('k1' => 'a' , 'k2' => 'b', 'k3' => 'c', 'k4' => 'd') );
$second = new ArrayIterator( array( 'k1' => 'X', 'k2' => 'Y', 'Z' ) );
$combinedIterator= new AppendIterator();
$combinedIterator->append( $first );
$combinedIterator->append( $second );
var_dump( iterator_to_array($combinedIterator, false) );
?>
will output :
array(7) (
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "X"
[5]=>
string(1) "Y"
[6]=>
string(1) "Z"
)
<?php
var_dump( iterator_to_array($combinedIterator, true) );
?>
will output (since keys would merge) :
array(5) (
["k1"]=>
string(1) "X"
["k2"]=>
string(1) "Y"
["k3"]=>
string(1) "c"
["k4"]=>
string(1) "d"
[0]=>
string(1) "Z"
)
iterator_to_array
(PHP 5 >= 5.1.0)
iterator_to_array — Копирует итератор в массив
Описание
Копирует элементы итератора в массив.
Список параметров
-
iterator -
Копируемый итератор.
-
use_keys -
Следует ли использовать ключи элементов итератора как индексы.
Возвращаемые значения
Массив (array), содержащий элементы итератора (iterator).
Список изменений
| Версия | Описание |
|---|---|
| 5.2.1 |
Добавлен параметр use_keys.
|
Примеры
Пример #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"
}
jerome at yazo dot net
09-Dec-2008 10:42
chad 0x40 herballure 0x2e com
27-Mar-2008 06:23
The use_keys parameter was added in one of the 5.2.x releases; it defaults to TRUE. This matches the behavior in PHP 5.1.6, which lacks this parameter.
