iterator_to_array
(PHP 5 >= 5.1.0, PHP 7)
iterator_to_array — イテレータを配列にコピーする
説明
イテレータの要素を配列にコピーします。
パラメータ
-
iterator -
コピーしたいイテレータ。
-
use_keys -
イテレータの要素のキーをインデックスとして使用するかどうか。
PHP 5.5 以降では、キーが array あるいは object のときに警告を発するようになりました。 キーが
NULLの場合は空文字列に変換し、キーが float の場合は integer 型になるよう切り詰めます。 キーが resource の場合は警告を発し、リソース ID に変換します。 また、キーが boolean の場合は整数値に変換します。注意:
このパラメータを省略したり
TRUEを指定したりした場合は、 重複するキーは上書きされます。そのキーに対して最後にあらわれた値が array で返されることになります。 このパラメータをFALSEにすると、重複があってもすべての値を返します。
返り値
iterator の要素を含む配列を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.5.0 |
iterator_to_array() で
use_keys パラメータを有効にしたときの、
integer や string 以外の型に対するサポートを強化しました。
|
| 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"
}