1 开辟内存空间
2 读取PHP代码到内存
3 编译阶段

声明变量, 声明函数, 语法检讨, 语义检讨, 代码优化, 剖析并得到代码树
4 实行阶段
变量的赋值, 函数的调用以及代码实行
5 实行完毕
内存的分配
(1)栈内存:特点小而快, 占用内存比较小但是运算速率特殊快, 定义的变量名称、函数的名称都是放在栈内存中。
(2)堆内存:特点大而慢, 占用内存比较大但是运算速率相对付栈内存而言比较慢, 定义的复合类型的数据(如数组、工具)都是放在对内存中的。
(3)代码段:所有的代码的如果想要实行都首先要编译到代码段中才能实行。
(4)数据段: 紧张分为两块区域(全局区和静态区)
紧张用于存储全局变量, 静态区紧张用于存储静态变量
在PHP局部浸染域中, 我们可以利用static关键词来声明静态变量, 静态变量不同于普通的局部变量:
普通局部变量:是在函数实行时, 才进行声明;
静态变量:是在函数编译时, 就已经声明了而且只需声明一次, 往后每次实行函数时, 都自动调用已经声明后的变量, 不须要重新声明;
在javascript中基本数据类型的赋值操作都是赋值传值; 复合数据类型的赋值都是引用传址。
基本数据类型的变量名和数据是直接存在"快速内存"(栈内存)中, 而复合数据类型(工具和数组)的存储分两个部分:
实际数据存在"慢速内存"(堆内存)中, 栈内存中只存变量名和数据在堆内存中的位置(地址)
工具在内存中的表现形式
打算机内存一共分为四块区域:栈内存、堆内存、数据段、代码段
栈内存:小而快(紧张用于存储定长型数据:整型、浮点型、布尔类型)
堆内存:大而慢(紧张用于存储变长型数据:数组、工具、字符串)
数据段:(全局区与静态区)
全局区:存储全局变量
静态区:存储静态变量
代码段:函数存储区
特殊解释:
变量的存储:在栈内存中占用一块内存地址
字符串、数组、工具的存储:在堆内存中占用一段连续的内存地址