참조 없이 객체를 복사하는 방법은 무엇입니까?
<p>PHP5 OOP 객체는 기본적으로 참조로 전달된다는 사실이 잘 문서화되어 있습니다. 이것이 기본값이라면 참조 없이 복사하는 기본값이 아닌 방법이 있는 것 같은데, 그건 어떻습니까? ? </p>
<pre class="brush:php;toolbar:false;">함수 refObj($object){
foreach($object as &$o){
$o = ''로 변경됩니다' $o;
}
$객체를 반환합니다;
}
$obj = 새로운 StdClass;
$obj->x = 'x';
$obj->y = 'y';
$x = $obj;
print_r($x)
// 객체(stdClass)#1 (3) {
// ["x"]=> 문자열(1) "x"
// ["y"]=> 문자열(1) "y"
// }
// $obj = refObj($obj); // 이렇게 할 필요가 없습니다.
refObj($obj); // $obj는 참조로 전달됩니다.
print_r($x)
// 객체(stdClass)#1 (3) {
// ["x"]=> string(1) "이것은 x로 변경됩니다."
// ["y"]=> string(1) "이것은 y로 변경됩니다."
// }</pre>
<p>이 시점에서는 <code>$x</code>가 원본 <code>$obj</code>일 것으로 예상했지만 물론 그렇지 않습니다. 쉽게 할 수 있는 방법이 있나요? 아니면 이런 코드를 작성해야 하나요</p>