array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.iterator-to-array.php', 1 => 'iterator_to_array', ), 'up' => array ( 0 => 'ref.spl.php', 1 => 'SPL 関数', ), 'prev' => array ( 0 => 'function.iterator-count.php', 1 => 'iterator_count', ), 'next' => array ( 0 => 'function.spl-autoload-call.php', 1 => 'spl_autoload_call', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/spl/functions/iterator-to-array.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
iterator_to_array — イテレータを配列にコピーする
イテレータの要素を配列にコピーします。
iterator
コピーしたいイテレータ。
preserve_keys
イテレータの要素のキーをインデックスとして使用するかどうか。
キーが array あるいは object
の場合は、警告が発生します。
キーが null
の場合は空文字列に変換し、キーが float
の場合は int 型になるよう切り詰めます。
キーが resource の場合は警告を発し、リソース ID に変換します。
また、キーが bool の場合は整数値に変換します。
注意:
このパラメータを省略したり
true
を指定したりした場合は、 重複するキーは上書きされます。そのキーに対して最後にあらわれた値が array で返されることになります。 このパラメータを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" }