数组的概念
数组:array,数据的组合,将一组数据(多个)存储到一个指定的容器中,用变量指向该容器,然后可以通过变量一次性得到该容器中的所有数据。
数组定义语法
在PHP中系统提供多种定义数组的方式:
1、使用array关键字:最常用的
$变量=array(元素1,元素2,元素3……)
2、看也是用中括号来包裹数据
$变量 = [元素1,元素2……]
3、隐形定义数组:给变量增加一个中括号,系统自动变成数组;
$变量[]=值1;//如果不提供下标也可以,系统自动生成(从0开始)
$变量[下标] = 值;//中括号里面的内容称之为下标key,该下标可以是字母(单词)或者数字,与变量命名的规则相似
PHP数组特点:
1.可以整数下标或者字符串下标
若数组下标为整数,即索引数组
若数组下标为字符串或字符串与数字的混合,即关联数组
2.数组的元素的顺序以放入顺序为准,跟下标无关
3.数字下标的自增长特性:从0开始自动增长,若中间手动输入较大的下标,则后面的自增长元素应从最大值+1开始
4.特殊值下标的自动转换(不要用特殊值做下标)
布尔值:true和false
空:NULL
5.PHP中数组元素没有类型限制
6.PHP中数组元素没有长度限制
补充:PHP中的数组是很大的数据,所以存储位置是在堆区,为当前数组分配一块连续的内存。(效率不高)
1.二维数组:
数组中的所有元素还是数组
2.创建二维数组
3.多维数组:在第二维的数组元素中可以继续是数组,在PHP中没有维度限制,但不建议使用超过三维以上的数组,会增加访问的复杂度,降低访问效率。
数组的遍历
数组遍历:普通数组数据的访问都是通过数组元素的下标来实现访问,若说数组中所有的数据都需要依次输出,就需要使用一些简化得规则来实现自动获取下标以及输出数组元素。
基本语法:
Foreach($数组变量 as[下标] => $值){
//通过$下标访问元素的下标;通过$值访问元素的值
}
通常若是关联数组(字符串与数字混合),就需要下标;若是数字下标就直接访问值
遍历一维数组:
遍历数组:依次输出数组中的所有元素
基本语法:
Foreach($数组变量 as [$下标] => $值){
通过$下标访问元素的下标;通过$值访问元素的值
}
在进行数据存储定义的时候,通常二维数组不会两个维度的key值都为数字,一般是一维为数字(无意义),二维为字符串(数据库表字段),所以在进行遍历的时候,通常只需要针对一维数组进行遍历,取得二维数组元素,然后二维元素通过下标去访问