繁星淼淼
在PHP中,默认情况下,对象作为引用副本传递给新的Object。看这个例子.............class X {
var $abc = 10; }class Y {
var $abc = 20;
function changeValue($obj)
{
$obj->abc = 30;
}}$x = new X();$y = new Y();echo $x->abc; //outputs 10$y->changeValue($x);echo $x->abc; //outputs 30现在看这个..............class X {
var $abc = 10; }class Y {
var $abc = 20;
function changeValue($obj)
{
$obj = new Y();
}}$x = new X();$y = new Y();echo $x->abc; //outputs 10$y->changeValue($x);echo $x->abc; //outputs 10 not 20 same as java does.现在看这个..............class X {
var $abc = 10; }class Y {
var $abc = 20;
function changeValue(&$obj)
{
$obj = new Y();
}}$x = new X();$y = new Y();echo $x->abc; //outputs 10$y->changeValue($x);echo $x->abc; //outputs 20 not possible in java.我希望你能理解这一点。