PHP 中 each() 函数返回数组中当前元素的键值对,并将数组内部的指针指向数组的下一个元素。
each() 函数的语法格式如下:
参数 $array 为待操作的函数。
注意:自 PHP7.2 起,each() 函数已经被弃用。
each() 函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向下移动数组指针到下一个元素的位置。
函数返回值为带有四个元素的数组,键名分别为 0、1、key 和 value,其中键名 0 和 key 对应的值是一样的,是数组元素的键名,1 和 value 则是数组元素对应的值。
如果内部指针越过了数组的末端,则 each() 函数会返回 False。each() 函数的使用示例如下所示:
- <?php
- $array = array(
- '城东书院',
- 'http://www.cdsy.xyz/computer/programme/PHP/',
- 'PHP 教程'
- );
- $arr = each($array);
- echo '数组 $array 中第'.$arr[0].'个元素的值为:'.$arr[1].'<br>';
- $arr = each($array);
- echo '数组 $array 中第'.$arr['key'].'个元素的值为:'.$arr['value'].'<br>';
- $arr = each($array);
- echo '数组 $array 中第'.$arr['key'].'个元素的值为:'.$arr['value'].'<br>';
- $arr = each($array);
- var_dump($arr);
- ?>
运行结果如下:
each() 函数与我们介绍的《list() 函数》和《while 循环》相结合可以实现对数组的遍历,示例代码如下:
- <?php
- $array = array(
- '城东书院',
- 'http://www.cdsy.xyz/computer/programme/PHP/',
- 'PHP 教程',
- 'each() 函数'
- );
- reset($array);
- while (list($key, $value) = each($array)) {
- echo '数组 $array 中第 '.$key.' 个元素的值为:'.$value.'<br>';
- }
- ?>
运行结果如下:
提示:在使用 while 循环、list() 函数和 each() 函数遍历数组时,为了避免出错需要先使用 reset() 函数将数组内部指针指向数组的第一个元素。