4.5 处理数组元素和键值位置
PHP的每个数组内部均会有一个指针,指向当前元素。这里所谓的指针,可以把它理解成程序即将要处理的元素所在的位置。处理数组元素和键值(索引)的位置,就是获取数组某个位置上的元素,或获取该元素后,将该指针移动到其他位置。PHP中,处理数组元素和键值位置的函数主要有以下几个。
❑current():该函数返回数组的当前元素,不移动当前指针位置。
❑next():该函数返回当前元素的下一个元素的值,并将指针向后移动一位,下一个元素不存在时,返回FALSE。
❑prev():该函数返回当前元素的上一个元素的值,并将指针向前移动一位,上一个元素不存在时,返回FALSE。
❑end():该函数返回数组的最后一个元素的值。
图4-8示意说明了这些函数在某数组中和元素的对应关系。
如图4-8所示,假如键值为1的元素是当前(current)元素,那么调用函数next,就会返回键值为2的元素,同时当前(current)指针移至位置[2],这意味着键值为2的元素成为当前元素。代码4-10演示了这些函数的用法。
注意 这个示意图并不表示数组中有prev、next和end指针,该图只是说明函数和元素的对应关系,数组中只有一个指向当前元素的指针。
代码4-10 位置处理函数的用法4-10.php
01 <?php
02 $planet=array(
03 'Earth',
04 'Venus',
05 'Mars',
06 'Jupiter',
07 'Saturn'
08 );//定义数组$planet
09
10 $pos=current($planet);//此时$pos=Earth
11
12 echo'pos1='.$pos;
13 echo'<br/>';
14 echo'<br/>';
15
16 $pos=next($planet);//此时$pos=Venus
17 echo'pos2='.$pos;
18 echo'<br/>';
19 echo'<br/>';
20
21 $pos=current($planet);//此时$pos=Venus
22 echo'pos3='.$pos;
23 echo'<br/>';
24 echo'<br/>';
25
26 $pos=prev($planet);//此时$pos=Earth
27 echo'pos4='.$pos;
28 echo'<br/>';
29 echo'<br/>';
30
31 $pos=end($planet);//此时$pos=Saturn
32 echo'pos5='.$pos;
33 echo'<br/>';
34 echo'<br/>';
35
36 $pos=current($planet);//此时$pos=Saturn
37 echo'pos6='.$pos;
38 ?>
【代码解析】第2~8行先定义一个数组$planet,第10行使用current()获取数组的当前元素,刚创建好的数组,当前元素是第一个元素。第16行使用next()函数又向后移动一个位置,第26行使用prev()向前移动一个位置,第31行直接用end()函数取最后一个位置的元素。这段代码的执行结果如图4-9所示。
共有条评论 网友评论