学习PHP垃圾回收机制了解引用计数器的概念
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了学习PHP垃圾回收机制了解引用计数器的概念,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1473字,纯文字阅读大概需要3分钟。
内容图文
![学习PHP垃圾回收机制了解引用计数器的概念](/upload/InfoBanner/zyjiaocheng/193/c0b0724e8cca40389d5c9fc0b34a034e.jpg)
如果你安装了xdebug,就可以用xdebug_debug_zval()显示“zval”的信息了。如下:
结果:
str:
(refcount=1, is_ref=0),
string 'phpddt.com' (length=10)
只有当变量容器在”refcount“变成0时就被销毁.当你unset()一个变量时,想要的“zval”中refcount就会减1,再来说说前几天遇到的unset引用问题:
输出aaa,用xdebug_debug_zval打印你就知道为什么了 xdebug_debug_zval("b");
结果:
b:
(refcount=1, is_ref=0),string 'aaa' (length=3)
继续说引用计数器问题,对于array和object符合类型情况又不一样了:
'aaa', 'b' => "bbb" ); xdebug_debug_zval( 'arr' ); $arr['aaa'] = $arr['a']; xdebug_debug_zval( 'arr' );?>
结果:
arr:
(refcount=1, is_ref=0),
array
'a' => (refcount=1, is_ref=0),string 'aaa' (length=3)
'b' => (refcount=1, is_ref=0),string 'bbb' (length=3)
arr:
(refcount=1, is_ref=0),
array
'a' => (refcount=2, is_ref=0),string 'aaa' (length=3)
'b' => (refcount=1, is_ref=0),string 'bbb' (length=3)
'aaa' => (refcount=2, is_ref=0),string 'aaa' (length=3)
可以看到看到原有的数组元素和新添加的数组元素关联到同一个"refcount"2的zval变量容器.这里我也只是起到抛砖引玉的作用。
具体关于PHP引用计数器可以参照手册:http://php.com/manual/zh/features.gc.refcounting-basics.php
欢迎转载! 原文地址: http://www.phpddt.com/php/gc-refcounting-basics.html ,转载请注明地址,谢谢!
内容总结
以上是互联网集市为您收集整理的学习PHP垃圾回收机制了解引用计数器的概念全部内容,希望文章能够帮你解决学习PHP垃圾回收机制了解引用计数器的概念所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】