PHP的类对象在什么时候销毁呢? 有个问题,对象在什么时候会自动销毁,脚本执行完毕当然就自动销毁了,可是如果我在一个函数里面创建了一个对象a,那么当这个函数执行完毕时,对象a会自动销毁么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 xuzuning 于 2010-02-01 14:35:24 编辑 参考:http://school.itzcn.com/special-spid-30.html上面讲解的比较详细,希望对楼主有所帮助。 准确地说,是在垃圾回收器运行之后回收.....一般情况下没问题,函数结束后会回收...不过有兴趣的可以运行一下这个程序: (<php5.3, bugs.php.net上说已经在5.3修改了这个问题)<?phpclass A { function __construct () { $this->b = new B($this); } function __destruct () { $this->b->__destruct(); }}class B { function __construct ($parent = NULL) { $this->parent = $parent; } function __destruct () { unset($this->parent); }}function test(){ for ($i = 0 ; $i < 10000 ; $i++) { $a = new A(); //$a->__destruct(); // 看看这行注释与不注释有何不同 }}test();echo number_format(memory_get_usage());注释和不注释上面那行的结果是完全不同的 函数运行完就收回了。建议看看php的垃圾回收机制。 求解wamp打开怎么成这样了 php调用webservice 传递参数问题 explode炸开的数组,如何直接跟着下标,一行输出? 奇怪的编码问题 curl模拟登陆教务成功,但有时候显示成绩,有时候就什么都没有 为什么我去不擀换行符? PHP可以连接SQL Server数据库吗? 上传程序的路径问题!? 请教各位问题(刷新+数值向EXCEL中的带分解号显示+在提交表单后,当用户录入有误时,我想系统自动回到前一页,并且录入的数据还在文 本框 加载数据问题 弱弱问一个效率的问题? 求一条关联SQL语句
http://school.itzcn.com/special-spid-30.html
上面讲解的比较详细,
希望对楼主有所帮助。
不过有兴趣的可以运行一下这个程序: (<php5.3, bugs.php.net上说已经在5.3修改了这个问题)<?phpclass A {
function __construct () {
$this->b = new B($this);
}
function __destruct () {
$this->b->__destruct();
}
}class B {
function __construct ($parent = NULL) {
$this->parent = $parent;
}
function __destruct () {
unset($this->parent);
}
}function test(){
for ($i = 0 ; $i < 10000 ; $i++) {
$a = new A();
//$a->__destruct(); // 看看这行注释与不注释有何不同
}
}test();
echo number_format(memory_get_usage());
注释和不注释上面那行的结果是完全不同的