php数组函数序列之each() – 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位

当我们需要处理一些数据,尤其是需要循环遍历数组时,经常需要使用到PHP数组函数。其中,each()函数就是PHP提供的一个用于获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位的函数。下面,我将为大家讲解each()函数的用法、

当我们需要处理一些数据,尤其是需要循环遍历数组时,经常需要使用到PHP数组函数。其中,each()函数就是PHP提供的一个用于获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位的函数。下面,我将为大家讲解each()函数的用法、注意事项以及示例说明。

语法

each(array $array) : array|false

参数

  • array:必需。规定要处理的数组。

返回值

  • 数组。返回包含键名、键值、当前指针位置信息的数组。数组的索引为0-3,分别表示键名、键值、当前指针位置和是否继续循环。
  • false。当指针指向数组末尾时返回false。

注意事项

  • each()函数会把数组内部指针移到下一位,直到指针指向末尾为止。
  • 在循环时如果不希望移动数组指针,可以使用reset()函数把指针移到数组的开头。
  • 在循环过程中,如果数组元素被删除或添加,都会影响循环结果。

示例说明

示例 1:循环遍历数组

$arr = array('a'=>1, 'b'=>2, 'c'=>3);
reset($arr); //把数组指针移动到开头
while(list($key, $value) = each($arr)){
    echo $key.'-'.$value.'<br>';
}

该示例代码会输出:

a-1
b-2
c-3

示例 2:循环遍历数组,删除特定元素

$arr = array('a'=>1, 'b'=>2, 'c'=>3);
reset($arr); //把数组指针移动到开头
while(list($key, $value) = each($arr)){
    if($key=='b'){ //如果键名为'b'
        unset($arr[$key]); //删除数组元素
    }
    echo $key.'-'.$value.'<br>';
}

该示例代码会输出:

a-1
c-3

本文标题为:php数组函数序列之each() – 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位

基础教程推荐