-
-
- 使用for循环语句遍历数组
-
数组的指针:每一个数组内部,都有一个“指针”,正常情况下,指针指向数组的某个单元,起初默认是指向第一个单元。
对于数组 $arr1 = array( 18, 22, 13, 28, 15, 33, );
图示如下:
| 下标 |
0 |
1 |
2 |
3 |
4 |
5 |
| 值 |
18 |
22 |
13 |
28 |
15 |
33 |
初始状态下,指针指向数组的第一个单元。
php中,有如下几个函数,可以针对数组指针进行相应操作:
$re = current( $arr1); //取得数组中当前指针所在单元的值;
$re = key( $arr1 ); //取得数组中当前指针所在单元的键(下标);
$re = next( $arr1 ); //将数组中的指针往后移动一个位置,并取得新位置上的值;
$re = prev( $arr1 ); //将数组中的指针往前移动一个位置,并取得新位置上的值;
$re = end( $arr1 ); //将数组中的指针移动到最后一个位置,并取得新位置上的值;
$re = reset($arr1); //将数组中的指针移动到最前一个位置,并取得新位置上的值;
课堂练习:
请用for(即不用foreach)来遍历如下数组,并按顺序输出其每一个单元的键和值:
$arr1 = array(‘a’, 2=>’b’, ‘c’, ‘x’=>’d’, ‘e’); //提示:count()函数可以求数组的长度
<?php
//请用for(即不用foreach)来遍历如下数组,
并按顺序输出其每一个单元的键和值:
///提示:count()函数可以求数组的长度
$arr1 = array("a", 2=>"b", "c", "x"=>"d", "e"); $v1 = current($arr1); //"a";
$k1 = key($arr1); //0
next($arr1); //指针往后移动一位
$v2 = current($arr1); //'b'
$k2 = key($arr1); //2
end($arr1); //指针移动到最后一个单元
$v3 = current($arr1); //'e'
$k3 = key($arr1); //4//先将指针移回第一个:
reset($arr1);
$len = count($arr1);
for($i = 0; $i < $len; $i++)
{$key = key($arr1);$value = current($arr1);echo "<br>$key :::: $value";next($arr1);
}