数组:
概念:array,将多个变量存储到一个指定容器里,用变量指向该容器,访问该变量时可以一次性访问该容器内的所有数据
定义方法:
- 使用array关键字,
形式:$变量名=array(元素一,元素二,元素三,元素......);
- 使用中括号包裹数据
形式:$变量名=[元素一,元素二,元素三,......];
- 在变量名后使用[],一次只能定义一个数组元素,要定义多个数组元素需要多次使用
形式:$变量名[]=值, “[]”里可以是字母、单词和数字,叫做下标,即这种形式可以指定下标
1.如果数组的下标都为整数叫做索引数组,如果都为字符(串)则称为关联数组,二者可以同时存在
2.数组元素的顺序以放入顺序为准,和下标无关(即先放入的即使下标大也比后放入的下标小的排在前面)
3.下标的自增长特性:默认从零开始递增,如果突然中间出现较大的数,则从这个数+1增长
4.特殊型下标的自动转换:布尔型,空型
True对应1,FALSE对应0,’null’对应空
5.数组元素没有类型限制,也没有长度限制
多维数组:数组的元素是数组(对关联数组进行赋值需要用到”=>”符号)
- 二维数组:数组里的元素全是一维数组(多维数组,二维数组的元素又是数组)
二维数据的访问规则:$变量名[一维下标][二维下标],如$erwei[0][‘name’]则显示‘张三’
2.异型数组:数组中的元素不规则,有普通元素也有数组(一定要有数组,没有数组的情况下就为简单的一维数组)
数组遍历:数组数据的访问都是通过访问数组元素的下标来实现,如要将数组中的所有数据依次输出,就需要一些简便的规则来获取下标和数据
Foreach遍历语法:
结构:foreach($数组变量 as [$下标=>]$值){ //通过$下标访问元素的下标,$值访问元素的值}(‘$下标’可有可无,’$值’中‘值’随意命名)
通常,如果是关联数组(即下标为字母的数组)则需要写下标,如果是数字下标,则可直接访问值
打印对应的下标的形式:
如果想要对二维数组使用foreach()
则有,
1.对一维数组的值继续遍历
2.访问二维数组的下标
For循环遍历数组
For循环基于已知起始和结束的条件,进行有条件的变化
- 获取数组长度:count(数组)得到数组的长度
2.数组的下标是规律的
While配合each和list遍历数组
Each函数:each能够从一个数组中获取当前数组指针指向的元素的下标和值,随后使数组指针下移,同时将拿到的数组下标和值以一个四个元素的数组返回,如果数组指针移动到最后(each取不到结果),则返回FALSE
分为:0下标:取得的元素的下标值 1:取得元素的值 (以索引方式返回)
key下标:取得的元素的下标值 value:取得元素的值 (以关联方式返回)
List结构(没有返回值)
List提供一些变量,从一个数组中取得元素值,依次存储在由list提供的变量中(数组中的值为list提供的变量赋值)
条件:必须从索引数组中获得数据,且下标必须从0开始
因为each函数一定有 0、1,所以可以和list连用
形式:list(变量....)=each(数组),但当each得不到结果时,整个表达式为FALSE(数组结束了)