PHP中变量底层分析

Posted 2018-05-9-ygk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中变量底层分析相关的知识,希望对你有一定的参考价值。

1、参考流程:https://gywbd.github.io/posts/2015/4/php-variable-in-memory.html

php变量是通过使用zval实现变量的

写时拷贝和引用计数:

循环引用:会形成内存泄漏,需要PHP垃圾回收机制去回收

写时拷贝是什么意思?

就是当发生写的时候,会发生zval创建。
①、对于普通的变量比如$a = 1这个时候会发生创建zval
②、对于引用比如说
$a = 1;
$b = $a;
$c = &b;

这个时候没有发生write操作,则也会发生zval操作

整形、浮点型、字符串、布尔、数组、对象、资源、null

以上是关于PHP中变量底层分析的主要内容,如果未能解决你的问题,请参考以下文章

[PHP底层]命令执行底层分析

PHP变量类型底层设计实现

PHP变量类型底层设计实现

PHP排序函数sort底层实现分析

PHP_底层分析

[PHP底层]关于php://filter的分析