찾다

 >  Q&A  >  본문

참조 없이 객체를 복사하는 방법은 무엇입니까?

<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>
P粉805922437P粉805922437463일 전449

모든 응답(2)나는 대답할 것이다

  • P粉038161873
  • P粉713846879

    P粉7138468792023-08-25 00:31:47

    으아악

    그러면 다음과 같아야 합니다:

    으아악

    회신하다
    0
  • 취소회신하다