在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