在PHP中,我有这个简单的类对象引用
<?php
class Person {
var $first_name = "factory method";
}
?>
我的问题是,如果我有:
$person1 = new Person();
$person2 = $person1;
$person1 = null;
var_dump($person1);
var_dump($person2);
什么,我得到的是:既$ PERSON1 = NULL和$ person2根本不为空,看起来$ person1和$ person2根本没有指向相同的东西。
但是当我做类似如下:
$person1 = new Person();
$person2 = $person1;
$person2->first_name = "programming";
echo $person1->first_name;
echo $person2->first_name;
我得到了同样的事情,“编程”,所以我觉得这两个$ PERSON1和$ PERSON2都指向同一件事。
有人可以向我解释为什么是这样的?
请参阅http://php.net/manual/en/language.oop5.references.php和评论。 – netcoder 2011-04-09 02:55:16