PHP数组遍历
(大致整理出三种)
foreach遍历语法
基本语法如下:
foreach ($arr as $value)
statement
!
或者:
foreach ($arr as $key => $value)
statement
//通过 $下标 访问元素的下标,通过 $值 访问元素的值
通常:如果是关联数组(字母下标),就需要下标,如果是数字下标就直接访问值
在进行数据存储定义的时候,通常二维数组不会两个维度的key下标为数字,一般是一维为数字(无意义),二维为字符串(数据库表字段),所有在进行遍历的时候通常是针对一维数组进行遍历,取得二维数组元素,然后二维数组元素通过下标去访问。
foreach遍历原理
foreach遍历的原理:本质是数组的内部有一个指针,默认是指向数组元素的第一个元素,foreach就是利用指针去获取数据,同时移动指针。
1.foreach会重置指针:让指针指向第一个元素;
2.进入foreach循环:通过指针取得当前第一个元素,然后将下标取出放到对应的下标变量$key中(如果存在),将值取出来放到对应的值变量$value中;然后指针下移
3.进入循环内部(循环体)开始执行
4.重复2和3,直到在2的时候遇到指针取不到内容
for循环遍历数组
for循环基于已知边界条件,有条件的变化
- 获取数组长度:count(数组)得到数组元素的长度
- 要求数组元素的下标是规律的数字
for+next也能完成遍历数组(可以是下标非规律数字的数组)
有这样一个数组:
$arr = array( 12, 5, ‘aa’=>8, 6=>10, ‘bb’=> 3, 4);
不使用“foreach”,而是使用for循环,将他遍历输出每一项的下标和值!
each和list
each函数:能从一个数组中获取当前那数组指针指向的元素的下标和值,拿到之后将数组指针下移,同时将拿到的元素下标和值以一个四个元素的数组返回:
0->key 取得元素的下标值
1->取得元素的值
key->取得元素的下标值
value->取得元素的值
list函数使用:list是一种结构,不是一种函数(没有返回值),是list提供一对变量从一个数组中取得元素值,然后依次存放到对应变量当中(批量为变量赋值:值来源于数组)list必须从索引数组中去获取数据,而且必须从0开始
each和list配合:each返回的数组中必定有下标0和1分别表示下标和值