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 の場合は警告を発し、リソース ID に変換します。 また、キーが bool の場合は整数値に変換します。

注意:

このパラメータを省略したり true を指定したりした場合は、 重複するキーは上書きされます。そのキーに対して最後にあらわれた値が array で返されることになります。 このパラメータを false にすると、重複があってもすべての値を返します。

戻り値

iterator の要素を含む配列を返します。

変更履歴

バージョン説明
8.2.0iterator の型が 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" }
To Top