简单问题 $assigned = $instance; //把对象的地址传给变量$assigned$reference =& $instance;//把变量$instance的地址传给$reference,就是变量引用.当$instance为null,$reference也为null,但对象不为null. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可是$instance它是对象啊?$instance这个变量如何理解呢?谢谢 以C的观点看,$instance是变量,它有它自己的地址(比如是1000),而它存的不是具体值,是对象的地址(比如是2000),相当于指针(*instance)。所以$assigned = $instance; //新建object变量$assigned,值为2000,指向对象$reference =& $instance; //新建object变量$reference,值为1000,指向变量$instance. 谢谢,湖水清澈,你说的我明白,可是如果是变量,$instance->var = '$assigned will have this value';下面这句如何成立,还有你看这个<?php$bar =& new fooclass();$foo =& find_var($bar);?> 对象的引用 1.$bar =& new fooclass();[摘]:PHP5使用了Zend引擎II,对象被储存于独立的结构Object Store中,而不像其它一般变量那样储存于Zval中(在PHP4中对象和一般变量一样存储于Zval)。在Zval中仅存储对象的指针而不是内容(value)。当我们复制一个对象或者将一个对象当作参数传递给一个函数时,我们不需要复制数据。仅仅保持相同的对象指针并由另一个zval通知现在这个特定的对象指向的Object Store。由于对象本身位于Object Store,我们对它所作的任何改变将影响到所有持有该对象指针的zval结构----表现在程序中就是目标对象的任何改变都会影响到源对象。.这使PHP对象看起来就像总是通过引用(reference)来传递,因此PHP中对象默认为通过“引用”传递,你不再需要像在PHP4中那样使用&来声明。2.$foo =& find_var($bar);//这种写法实际上是对函数返回值的引用$a = 'original value';$foo = & find_var();$foo = 'new value';echo $a;function & find_var(){ global $a; return $a;} 谢谢,原来php5是可以省略的,但是怪我笨还是不明白,如果是变量可以这样吗?为啥把它看成变量[code=PHP]$reference =& $instance$instance-> var = '$assigned will have this value'; [/code] 不要把$instance当成对象本身,它只是一个实例化对象的名字,你通过这个名字来访问具体对象。 在php中向数据库写入发生错误,请大神看下.... 关于smarty框架的问题,急!!!!!! 如何监听CHECKBOX的选择个数,然后在PHP中使用 统计出来的数值 小弟今天申请到一个调试php的免费空间,速度不错。 发在js版没人答,还是在这里发吧 php对输入的字符串做如下检索 创业团队寻PHP中高级开发人员,(可以兼职,>4K/月)(湖南地区最好, 其他地区也不限) onchange 后 传参数刷新本页 在线急等,关于怎么保存网页的数据到数据库里呀 求显示IP和地区城市的个性签名代码。 怎么把11变成000000011? 长度固定10位! PHP中,如何读取XML文件中的元素值
所以
$assigned = $instance; //新建object变量$assigned,值为2000,指向对象
$reference =& $instance; //新建object变量$reference,值为1000,指向变量$instance.
你说的我明白,可是如果是变量,$instance->var = '$assigned will have this value';
下面这句如何成立,还有你看这个
<?php
$bar =& new fooclass();
$foo =& find_var($bar);
?>
对象的引用
[摘]:
PHP5使用了Zend引擎II,对象被储存于独立的结构Object Store中,而不像其它一般变量那样储存于Zval中(在PHP4中对象和一般变量一样存储于Zval)。在Zval中仅存储对象的指针而不是内容(value)。当我们复制一个对象或者将一个对象当作参数传递给一个函数时,我们不需要复制数据。仅仅保持相同的对象指针并由另一个zval通知现在这个特定的对象指向的Object Store。由于对象本身位于Object Store,我们对它所作的任何改变将影响到所有持有该对象指针的zval结构----表现在程序中就是目标对象的任何改变都会影响到源对象。.这使PHP对象看起来就像总是通过引用(reference)来传递,因此PHP中对象默认为通过“引用”传递,你不再需要像在PHP4中那样使用&来声明。2.$foo =& find_var($bar);
//这种写法实际上是对函数返回值的引用
$a = 'original value';
$foo = & find_var();
$foo = 'new value';
echo $a;
function & find_var()
{
global $a;
return $a;
}
[code=PHP]$reference =& $instance
$instance-> var = '$assigned will have this value'; [/code]