<?php
class SimpleClass
{
public $var1;
}
$instance = new SimpleClass();
$assigned = $instance;
$reference =& $instance;
$instance->var1 = '$assigned will have this value';
$instance = null; // $instance and $reference become null
var_dump($instance);
var_dump($reference);
var_dump($assigned);
exit;
?>
아무도 도와 줄 수 있습니까? 위의 코드의 출력은 어떻게 제공 :PHP5 - 객체 할당 문제
이NULL
NULL
object(SimpleClass)#1 (1) {
["var"]=>
string(30) "$assigned will have this value"
}
내가 $instance
및 $reference
하지만 어떻게 $assigned
올 NULL
되었다하지 않는 NULL
을 이해할 수있다. PHP 5에 대한 나의 이해에 따라 객체는 참조로 전달되므로, $assigned
도 참조를 포함합니다.이 경우 역시 NULL
이되어야합니다.
PHP 매뉴얼로 작성된 것은 "클래스의 이미 생성 된 인스턴스를 새 변수에 할당 할 때 새 변수는 할당 된 객체와 동일한 인스턴스에 액세스합니다.이 동작은 동일합니다. 인스턴스를 함수로 전달할 때. "
설명 할 수 있습니까?