博客列表 >PHP程序中内存分配情况

PHP程序中内存分配情况

Thomas技术博客
Thomas技术博客原创
2018年05月09日 12:02:37845浏览

栈区:栈区主要存放的是已知固定大小的变量(简单类型变量,如字符串、数值、布尔值)!

        变量存放形式:【变量名】 【内存分配的变量地址】【变量值】 ;

                                 如:$carname [0x111] [vv7]

        简单类型变量并没有涉及到堆区的使用,

        如果在程序中一个变量赋值给另一个变量的话,是把变量的变量值赋给另一个变量,而内存分配的变量地址并没有一起赋给这个变量;

        如果在程序中一个变量采用引用的方式赋值的话,就是把变量在内存中的地址和变量值一起赋值给新的变量;从而只要改变其中任一个变量的值,另一个变量也都会随着改变;


堆区:堆区主要存放不能固定大小的变量值,如对象、数组!

        变量名与内存地址存放在栈区,对象或数组的值就存放在堆区中;

        栈中:【变量名】【内存分配的变量地址】:对象名

        堆中:【变量值】:对象内容

        如果在程序中对象赋值给另一个变量,是把变量在内存中的地址赋值给新变量,从而只要改变其中任一个变量的值,另一个变量也都会随着改变;

        如果在程序中数组赋值给另一个变量,是把变量在内存中的变量值赋值给新变量;


全局区:全局区主要放置常量(字面常量+define定义的常量) 预定义变量 静态变量(就是函数内外都能使用的值)


代码区:代码区 主要放置的是运行的代码和函数。


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
陈杜金2018-05-10 11:31:441楼
第一次发帖 占个沙发