#### 1. PHP的七个数组指针函数 --- | 序号 | 函数 | 描述 | | ------------ | ------------ | ------------ | | 1 | reset() | 将一个数组的内部指针重置到首位,并返回第一个元素的值 | | 2 | end() | 将一个数组的内部指针移动到数组的最后一个元素所在的位置,并返回最后一个元素的值 | | 3 | prev() | 移动数组指针到上一位,返回该位的值,当该位没有元素或是空数组时返回false | | 4 | next() | 移动数组指针到下一位,返回该位的值,当该位没有元素或是空数组时返回false | | 5 | key() | 返回当前指针所指向的元素的键,当指针所指的那一位没有元素返回null,空数组返回null | | 6 | current() | 返回当前数组指针所指向的值,指针移动超出了数组的末尾或数组为空时返回false | | 7 | each() | 返回当前指针所指的元素的值和键,并且移动指针到下一位,从PHP7.2.0开始,此函数已被弃用 | #### 2. each() 从 7.2.0 开始被弃用,不推荐再使用 --- **Warning** This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged 翻译:从PHP7.2.0开始,此函数已被弃用。非常不鼓励依赖此功能 #### 3. 数组指针函数的参数必须是一个变量 --- 因为上面的数组指针函数都是引用传值,所以数组指针函数的参数必须是一个变量,而不能直接传给一个数组数据 ```php $arr = ['张三', '李四', '王五']; echo reset(['张三', '李四', '王五']);//抛出错误:Fatal error ``` **Fatal error** Only variables can be passed by reference in D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php on line 5 翻译:在D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php的第5行中,只能通过引用传递变量 #### 4. 使用场景(我经常用的) --- 获取数组的第一个元素`reset()`和最后一个元素 `end()` ```php $arr = ['张三', '李四', '王五']; echo reset($arr);//张三 echo end($arr);//王五 ```