第4章 数组-【千锋教育】PHP从入门到精通
|
37页
|
97人阅读
|
0人下载
教辅
内容正文:
第4章 数组
数组的概念
数组的定义
数组的操作
数组的常用函数
二维数组
数组的概念
数组的定义
☞点击查看本小节知识架构
数组的操作
4.2
4.3
4.1
数组的常用函数
4.4
☞点击查看本小节知识架构
二维数组
4.5
☞点击查看本小节知识架构
学习目标
掌握
掌握
熟悉
掌握
掌握数组的概念
1
熟悉数组的常用函数
4
2
掌握数组的定义
3
掌握数组的操作
销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5
4.1 数组的概念
假如要存储60名学生的成绩,如果使用变量来存储成绩,就需要定义60个变量,显然这个定义的过程相当耗费时间与精力,PHP语言提供了数组来存储这60名学生的成绩。
数组是一个可以存储一系列数值的数据结构。数组中的每个元素分为两部分:键(key)和值(value),其中,键(也称为数组的下标)为元素的识别名称,值为元素的内容。键与值存在着一种对应关系,例如上述每名学生的学号就可以用数组的键表示,成绩就是键所对应的“值”。
在PHP中,根据键的数据类型,数组分为索引数组与关联数组,具体如下所示。
4.1 数组的概念
1.索引数组
所谓索引数组就是键为整数的数组,其键默认从0开始并依次递增1。它通常使用在用位置来索引数组元素的值,具体如图所示。
在图中,索引数组中的键都为整数,值可以为任意数据类型,每个键都有对应的值。另外,键可以为指定整数,如果不指定,则默认从0开始。
在图中,数组中每个元素的键与值之间存在着逻辑关系,例如,学生学号(id)为68,姓名(name)为小千,年龄(age)为18,分数(score)为100。
2.关联数组
所谓关联数组是指键为字符串的数组,通常使用在存储一系列具有逻辑关系的数据,具体如图所示。
4.2 数组的定义
对数组的概念有所了解后,接下来就需要定义数组。定义数组通常有两种方式:一种是直接为数组元素赋值,另一种是使用array语句。
1.直接为数组元素赋值
在定义数组时,有时不知道需要创建多大的数组或数组的大小可能发生变化,这时就可以使用直接为数组元素赋值的方式定义数组,其语法格式如下:
其中,$arrayName表示数组名;key是数组中元素的键,其类型可以为整型或字符串型;value是键对应的值,其类型可以是任意数据类型。
在直接为数组元素赋值时,键名是可以省略的。
4.2 数组的定义
2.array语句定义数组
array语句可以用来创建一个数组,其语法格式如下:
其中,key => value定义了键和值,键可以是整数或字符串。
4.3 数组的操作
4.3.1
可变函数
返回目录
4.3.2
引用函数返回值
4.3.3
函数的嵌套调用
4.3.4
函数的递归调用
4.3 数组的操作
PHP程序经常需要对数组中的元素进行遍历、排序、查找等操作,灵活地操作数组可以达到事半功倍的效果。
4.3 数组的操作
通过4.2节的学习,var_dump()函数可以输出数组中每个元素与值的数据类型。此外,print_r()函数也可以输出数组中所有元素,如例所示。
4.3.1 数组输出
4.3 数组的操作
上面讲解了如何输出整个数组,如果只需要输出数组中某个元素的值,则可以通过键来获取对应的值。因为键是数组元素的唯一标识,而键与值之间是映射关系,具体语法格式如下:
4.3.1 数组输出
在例中,获取$arr2中'id'所对应的值,可以写成如下形式:
上述示例中,除了可以使用[]外,还可以使用{},具体如下所示:
上述两种形式都可以访问数组中某个元素的值。
4.3 数组的操作
unset语句可以删除整个数组,也可以删除数组的某个元素,如例所示。
4.3.2 数组删除
4.3 数组的操作
运算是通过运算符和数据实现的,例如前面学习的整型数据可以进行算术运算和赋值运算。数组作为一种复合数据类型,自然也可以进行运算,具体如表所示。
4.3.3 数组运算
4.3 数组的操作
数组遍历是指依次访问数组中的每个元素,可以通过多种方法实现,具体如下所示。
1.通过foreach语句遍历数组
在PHP中,foreach语句可以很方便地遍历数组,其语法格式如下:
4.3.4 数组遍历
其中,$variable表示需要遍历的数组,as是一个固定的关键字,键变量$key是可选的,值变量$value是必选的。每次循环时,foreach语句会把键赋值给$key,值赋值给$value。
此处需注意,$key和$value保存的键与值是通过值传递的方式赋值的。如果使用引用传递,只需在值变量前加上&即可,键变量是不能写成引用形式。
4.3 数组的操作
2.通过list语句和each()函数遍历数组
除了foreach语句可以实现遍历数组外,list语句与each()函数结合起