一、内存结构
- 栈区:保存的是变量名(术语:引用),对于cpu来说,读写速度很快
- 堆区:存储“复杂”的数据,数组、对象、字符串(字符串比较特殊)等
- 数据段:又分为数据段全局区(用于存储简单的数据,如数字和布尔类型)和数据段静态区(用于存储静态变量、常量等)
- 代码段:存储的是源代码对应的机器指令
- 输出缓存:只要遇到输出命令(如:echo、print、print_r、var_dump等),数据会缓存在这个区域
二、PHP的执行过程
- 编译阶段:进行语法检查、代码优化,编译通过之后,将源代码转为机器指令
- 执行阶段:如果编译通过后,会将源代码对应的机器指令保存在代码段,再开始执行代码段中的机器指令,遇到输出命令,再缓存在输出缓存区
三、PHP嵌入到HTML的执行过程
- 当PHP功能模块在处理一个PHP文件时,它只关心PHP代码(使用了PHP标签包含的代码段),对应非PHP代码,它会原样输出
四、PHP中变量的传值方式