php 内存原理

Posted xmnote

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 内存原理相关的知识,希望对你有一定的参考价值。

1.内存结构:

  栈区:保存变量名,对CPU,读写速度很快

  堆区:保存复杂的数据结构,想对象,数组,复杂的字符串等、

  数据段:数据段分为数据段全局区(简单的数据,整型和布尔类型)和数据段静态区(存储静态变量、常量)

  代码区:存储源代码对应的机器码

  输出缓存区:只要遇到输出命令,数据就会输出到这个区域

技术图片

2.php 执行过程

编译阶段:进行语法的检查,代码的优化,编译通过后,将源代码转换为机器指令

技术图片

执行阶段:编译通过后,会将源代码对应的机器指令保存在代码区,再开始执行代码中的机器指令

遇到输出指令,再缓存在代码的输出缓存区

技术图片

3.php 中变量的传值方式

php中变量的传值方式主要有2种:

1)赋值传值

  使用一个变量a为另一个变量b赋值时,传递的是变量a的值,这种传值方式叫做赋值传值 

1 <?php 
2      $a = 12;
3      $b = $a;
4     echo $a;

2)引用传值

  使用变量a为变量b赋值时,传递的是变量a的地址,这种传值方式叫做引用传值

 技术图片

 4.php 在变量的存储方式:

请阅读:https://www.cnblogs.com/orlion/p/4980641.html

以上是关于php 内存原理的主要内容,如果未能解决你的问题,请参考以下文章

内存对齐原理

PHP变量定义及工作原理

转载深入理解PHP Opcode缓存原理

深入理解PHP Opcode缓存原理

深入理解PHP Opcode缓存原理

PHP的性能探讨和测试