【PHP8.x】getArrayCopyメソッドの使い方

getArrayCopyメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getArrayCopyメソッドは、ArrayIteratorオブジェクトが内部で保持しているデータのコピーを、PHPの配列として取得するために実行するメソッドです。ArrayIteratorは、配列やオブジェクトをforeach構文などで反復処理できるようにするためのものですが、それ自体はPHPのネイティブな配列ではありません。そのため、array_maparray_filterといったPHPの強力な組み込み配列関数を直接適用することはできません。このような場合にgetArrayCopyメソッドを使用すると、イテレータが持つすべての要素を含む新しい配列を生成できます。これにより、イテレータのデータを配列として自由に操作できるようになります。このメソッドが返すのは元のデータの「コピー」であるという点が重要です。したがって、取得した配列の値を変更しても、元のArrayIteratorオブジェクトが保持しているデータには一切影響を与えません。これにより、元のデータの状態を保ったまま、安全にデータのスナップショットを取得し、加工や分析を行うことが可能になります。

構文(syntax)

1<?php
2
3$array = ['apple', 'banana', 'cherry'];
4
5$iterator = new ArrayIterator($array);
6
7$copiedArray = $iterator->getArrayCopy();
8
9var_dump($copiedArray);
10
11?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

array

ArrayIterator::getArrayCopy は、ArrayIterator オブジェクトが内部に保持している配列のコピーを返します。このコピーは、元の配列とは独立した新しい配列です。