PHP数组在内存的形式

数组定义web

这里写图片描述

$arr[]=’a’;
1. 判断变量的类型,系统碰到变量有中括号,系统就认为这是一个数组,将在堆区开辟一块内存空间
2. 给a在arr的内存空间,再开辟一个,讲a存放到区域里。
3. 在栈里开辟一块内存区域,存放arr变量。
4. 将a在堆区的地址赋值给arr。数组

$arr=’b’;
1. 先找到arr变量所指向的内存空间。
2. 计算出arr空间里当前已经被占用的内存地址
3. 在被占用的内存地址旁边的新地址开辟一块内存空间保持b。svg


这里写图片描述

数组访问
echo $arr[1];
一、找到arr变量所指向的内存地址
二、经过数组的下标来计算真实数组元素所在的位置的内存地址
三、取出对应地址的值xml