PHP7 中哪些变量类型 栈 堆

在 php7 中,变量分配在栈或堆上取决于类型和作用域。分配在栈上的变量包括基本数据类型、枚举类型和栈可分配对象,而分配在堆上的变量包括对象、数组、引用、资源和 php 7.4 之前的不可变对象。

PHP7 中哪些变量类型 栈 堆插图1

PHP7 中分配在栈和堆上的变量类型:

PHP7 中,变量可以分配在栈或堆上,具体取决于变量的类型和作用域:

1. 分配在栈上的变量:

基本数据类型(int、float、bool、string)
枚举类型
栈可分配对象(小的不可变对象,在 PHP 7.4 引入)

栈上的变量在函数调用时会被压栈,并在函数返回时出栈。它们的大小固定且已知,因此分配速度快且内存开销小。

立即学习“PHP免费学习笔记(深入)”;

2. 分配在堆上的变量:

对象
数组
引用
资源
不可变对象(PHP 7.4 之前)

堆上的变量是在堆内存中分配的,分配大小不固定,根据需要动态分配。堆上的变量在函数调用时不会压栈,而是通过引用进行访问。它们的大小不固定,因此分配速度慢且内存开销大。

总结:

简单来说,PHP7 中分配在栈上的变量大小固定且已知,包括基本数据类型和栈可分配对象。分配在堆上的变量大小不固定,包括对象、数组、引用、资源和不可变对象(PHP 7.4 之前)。

以上就是PHP7 中哪些变量类型 栈 堆的详细内容,更多请关注至强加速其它相关文章!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/28784.html

沫沫沫沫
上一篇 2024年7月26日 19:40
下一篇 2024年7月26日 19:41

相关推荐