数组的概念
数组构成:数组是由一个或多个数组元素组成的
数组元素:每一个数组元素由建(key)和值(value)构成
键:"键"为元素的识别名称,也被称为数组下标
值:“值”为元素的内容
映射:键和值之间存在一种对应关系,称之为映射
类型划分:根据键的数据类型,可以将数组划分为索引数组和关联数组
一、初始数组
1、索引数组
索引数组是指键名为整数的数组,键名是从0开始的,键名可以自定义
2.关联数组
关联数组是指数组为字符串的数组里面的‘数’和‘值’有业务逻辑关系
二、数组的定义与使用
1、数组的定义
键只能是整形或字符串的数据,其他类型会执行类型自动转换
字符串会转为整形
浮点数会舍去小数部分转为整形
布尔类型型true转为1,false转为0
null类型转为空字符串
若数组中存在相同键名元素时,后面的元素会覆盖前面元素的值
array()语言结构方式
数组元素之间用“,”进行分割
数组元素用“键=<值”的方式表示↓↓↓
定义关联数组↓↓↓
定义数组时,可以定义没有任何元素的数组,既有索引表示方式又有关联表示方式
定义混合数组↓↓↓
多维数组是包含一个或多个数组的数组,在多维数组中,主数组中每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组
一个数组中的值可以是另一个数组,按这种方式可以创建二维数组或三维数组
定义多维数组↓↓↓
赋值方式定义数组就是单独为数组元素赋值,赋值方式不能定义为一个空数组
赋值方式↓↓↓
短数组定义法[ ]与array语法结构相同只把后面的()换成[ ]就行
2、访问数组
通过"数组名[键]"来查看数组中某个具体的元素
若要一次查看数组中所有元素可以通过输出函数print_r()和var_dump()
通常情况为了使输出的函数按照一定格式打印,查看时经常和pre标记一块使用
"数组名[键]"↓↓↓
3、遍历数组
遍历数组就是一次访问数组中所有元素的操作,可以使用for循环
foreach语句(遍历)
如果是遍历无顺序的数组,因为数组中的键没有规律可循,所以可以使用foreach循环语句
foreach仅用于数组有两种语法
第一种遍历索引数组
第二种遍历关联数组
4、数组操作符
数组这种复合数据类型也可以进行运算,不过数组也其专门提供的数组操作符进行对应的运算
“+”为联合运算符如果出现相同元素的话只保留第一个数组内的元素
示例
总结PHP有三种方法可以输出数组所有元素
1、用var_dump($array)输出整个数组的数据内容及结构,并打印元素的类型信息
2、用print_r($array)输出数组的数据内容及结构
3、用for、while、do...whiole、foreach循环遍历数组,在循环中echo将元素一个个输出
三、数组的增删改查
1、增加元素
增加元素方法可以通过array_push()函数来实现,
函数语法:array_push($array,value1,value2..)
array必须规定一个数组;value值可以是一个或者是多个;
2、数组的删除
<?php
//销毁单个数组元素
unset($fool['0']);
//销毁单个变量
unset($fool);
//销毁一个以上的变量
unset($fool1,$fool2,$fool3);?>
3、数组的修改
array_replace() 函数使用后面数组的值替换第一个数组的值
修改整个数组
修改数组中单个元素
4、数组的查询
array_search()函数在数组中搜索某个值,并返回对应的键名
in_array()函数搜索数组中是否存在指定的值。
四、数组常用函数
1、数组元素操作函数
array_pop()
array_push()
array_unshift()
array_shift()
array_unique()
array_slise()
array_splice()
2、检索函数
in_array()
array_search()
array_key_exists()
3、其他数组函数
count()
range()
array_rand()
array_keys
array_values()
array_column()
array_sum()
array_reverse()
array_merge()
array_flip()
array_combine()
array_chunk()
array_fill()
array_replace()
array_map()
array_walk()