
ArrayObject::getArrayCopy 메서드는 원본 배열을 수정하지 않고, 배열의 복사본을 반환합니다. 이 메서드는 ArrayObject 클래스의 내부 자료구조를 복사하여 새로운 배열을 반환하기 때문에 원본 배열의 변경이 영향을 미치지 않습니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
$array = new ArrayObject([1, 2, 3]);
$copy = $array->getArrayCopy();
$array[] = 4;
print_r($array); // ArrayObject Object ( [storage:ArrayObject:private] => Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 ) )
print_r($copy); // Array ( [0] => 1 [1] => 2 [2] => 3 )
위 코드에서, `$array`는 ArrayObject 인스턴스이고, `$copy`는 `$array`의 복사본입니다. `$array`에 새로운 요소 4를 추가하면 `$array`의 내부 자료구조가 수정됩니다. 그러나 `$copy`의 내용은 변경되지 않습니다.
2025-05-18 17:07