8、PHP数组遍历
8、数组遍历
1使用foreach语句历遍数组 (PHP常用)
1.1第一种语法格式:*
foreach(array_expression as value($value是自定义的任意变量。多维数组时有用),并把数组内部的指针往后一步。
1.2第二种语法格式
foreach(array_expression as value)
{循环体}
1.3多维历遍时要用到foreach嵌套
2使用for语句循环遍历数组
2.1一维数组
A.通过count()函数传入数组名来返回数组的长度
B.下面图通过i]确定输出那个数组
2.多维数组
3、联合使用LIst()、each()和while循环历遍数组
3.1 each()函数
A、每使用一次,只返回一个数组元素,无法自己循环,到末端无元素时var_dump输出的值为bool(FALSE);print_r()没有输出任何值返回
B、数组中当前元素的键/值对,并移动指针到下一个元素的位置。键/值对被返回带有4个元素的关联和索引混合的数组,键名分别为0、1、key、和value.
3.2LIst()函数
A、仅能用于数字索引的数组并假定数组索引从0开始。
B、将数组的每个元素的值,对应的赋值给list()函数中的每个参数。
C、将each和list函数结合再一起
3.3while循环历遍数组
while(list(value)=each(array_expression)){
循环体}
A.之道数组的结尾each()语句返回FALSE时,停止循环
B.看似于foreach相同但是还是又区别的。While语句执行后指针再末端不会自己重回第一个元素的位置。需要调用reset()重返第一个元素。否则再执行while相同的数组,each输出为0,循环还未开始就结束了。而foreach自己会重置指针到第一个。
4.使用数组的内部指针控制函数的历遍数组
几个重要的函数用途:
current():取得目前指针位置的内容资料
key():读取目前指针所指向资料的索引值
next():将数组中的内部指针移动到下一个单元
prev():将数组的内部指针倒回一位
end():将数组的内部指针移向最后一个元素
reset():将目前指针无条件移至第一个索引值位置