一、数组的概述
- 数组的本质:管理和操作一组变量,成批处理
- 数组是复合类型
- 数组中可以存储任意长度的数据,也可以存储任意类型的数据
- 数组就可以完成其他语言数据结构的功能(链表,队列,栈,集合类)
二、数组的分类
- 数组中存有多个单元(单元简称元素)
- 每个元素都有下标(键)和值
- 单访问元素时,都是通过下标(键)来访问元素
2.php中有两种数
- 索引数组:就是下标是顺序整数作为索引
- 关联数组:就是下标是字符串作为索引
- 下标(整数,字符串)只有这两种
三、数组多中声明方式
1.直接为数组 元素赋值
- 如果索引下标不给值,就会从0开始顺序索引
- 如果给出索引下标,下一个就会是从最大的开始增1
- 如果后面出现前面的下标,如果是赋值就是为前面的元素重新赋值
- 混合声明时,索引和关联不会互相影响
$user[0] = 1;
$user["sex"] = "nan";
$user[] = "lisi";
$user[1] = "zhangsan";
echo "<pre>";
print_r($user);
echo "</pre>";
2.使用array()函数
$user2 = array(1,"zhangsan");//默认索引数组
$user2 = array("id"=>1,"name"=>"zhangsan");//使用 键=>值
$user2 = array(
array("id"=>1,"name"=>"zhangsan"),
array("id"=>2,"name"=>"lisi"),
);//多个成员用,分开
3.使用其他的函数声明
file();
四、数组的遍历
1.使用for语句循环遍历数组
- 其他语言(只有这一种方式)
- php中这种方式不是我们首选方式
- 数组必须是索引数组,而且下标还必须是连续的
2.使用foreach语句循环遍历数组
- 循环次数有数组的元素个数决定
- 每一次循环都会讲数组中的元素分别赋值给后面变量
foreach ($user as $key => $value) { echo $key."==".$value."<br>"; }
3.while() list() each() 组合循环遍历数组
each()函数:
a.需要一个数组作为参数
b.返回来的也是一个数组
c.返回来的数组是0,1,key,value四个下标(固定的)
0和key下标是当前参数数组元素的键
1和value下标是当前数组元素的值
d.默认当前元素就是第一个元素
e.每执行一行后就会将当前元素向后移动
f.如果到最后元素再执行这个函数则返回false
$user[] = a ;
while ($arr=each($user)) {
echo "each()函数的使用:".$arr[0]."=====".$arr[1]."<br>";
echo $arr["key"]."=====".$arr["value"]."<br>";
}
list()函数
a.list()=array();需要将一个数组赋值给这个函数
b.数组中的元素个数,要和list()函数中的参数个数相同
c.数组中的每个元素值会赋值list()函数中的每个参数,list()将每个参数转为变量
list($name,$age,$sex)=array("zansan",10,"n");
echo "list()函数:$name $age $sex <br>";
使用数组的内部指针控制函数
next(数组); prev(数组); reset(数组); end(数组); current(数组); key(数组);
五、