초진시 코드다른 설명
$global_obj = null;
class my_class
{
var $value;
function my_class()
{
global $global_obj;
$global_obj = &$this;
}
}
$a = new my_class;
$a->my_value = 5;
$global_obj->my_value = 10;
echo $a->my_value;
에코 5 없음 10.
"가 보일 것이라고 my_class 저장 생성자는 $ global_obj 변수 내부 자체 참조. 따라서, 우리는 나중에 $ global_obj-> my_value의 값을 10으로 변경하면 $ a의 해당 값도 변경 될 것이라고 예상 할 수 있습니다. 불행히도 new 연산자는 참조를 반환하지 않고 새로 만든 객체의 복사본을 반환합니다 . "
아직 이해가 안되니 누구나 다르게 설명하고 이해하도록 도와주세요.
아니라, 그는 당신에게 자신의 갱신에 꽤 철저한 설명했다. (+1) – mpen
Mr. Martin, 인증 연습 테스트 책입니다. 나는 교정 할 필요가 없다. 나는 왜 그것이 5가 아니라 10인지를 알아야합니다. 다른 지식을 테스트하기 위해 다른 말씨를 사용할 수 있습니다. –
미안하지만, 내가 게시 한 것보다 더 잘할 수 있다고 생각하지 않습니다. 특히 매뉴얼의 참조 섹션을 가리키는 편집 내용을 추가했습니다. 설명이 정확하게 내가 그 페이지에서 인용 한 내용이라고 생각합니다. * (내 대답의 마지막 인용문이 코드가 작동하지 않는 이유 여야합니다.) * –