什么是数组?
数组就是在内存里有一块连续的内存空间(堆空间),这里面可以保存多个数据,数据没有数据类型的限制。PHP数组与其他语言的数组区别?
a) PHP数组没有长度限制,其他语言C必须事先指定数组长度,如果超出长度,就称之为溢出。
b) PHP数组没有数据类型限制,其他语言C在事先必须声明数组能存储的数据类型。
c) 数组的下标可以是数值也可以是字符串。
数组基本语法
关键字array
显示数组语法
$arr = array(元素1,元素2,元素3…); //数据类型一定是数组
隐式数组语法
$arr[] = 元素1; //定义一个$arr变量,将元素1添加进来
$arr[] = 元素2; //将元素2添加到$arr变量中
数组分类
根据数组的下标的不同进行分类
索引数组:当前数组的下标(键名)全是数字(整型)
关联数组:当前数组的下标全是字符串(使用最多)
混合数组:数组的下标既有数字又有字符串
系统分配所引方式
1. 系统是0开始分配下标,依次递增1
2. 用户可以手动分配下标(下标不能重复:重复的效果就是覆盖)
3. 如果用户在某一处指定了下标,那么后续元素自动分配的下标从前面的最大值(索引)开始
数组在内存的形式
数组遍历
for 的形式省略
如果数组是一个关联数组,那么就完全不能使用for循环来进行遍历。PHP提供了一个foreach来实现对数组元素的遍历
语法:foreach(数组 as 键值对
key=>
value){
//使用
key当做当前元素的下标//使用
value当做当前元素的值
}
数组的比较
数组的比较主要是比较数组长度,数组元素的值
==和===
==:要求数组长度一致,数组元素的值相等,下标也要相等
===:数组长度一致,值和类型都完全一致,出现的顺序必须也相同