PHP的七个数组指针函数
1. PHP的七个数组指针函数
函数 | 描述 |
---|---|
reset() | 将一个数组的内部指针重置到首位,并返回第一个元素的值 |
end() | 将一个数组的内部指针移动到数组的最后一个元素所在的位置,并返回最后一个元素的值 |
prev() | 移动数组指针到上一位,返回该位的值,当该位没有元素或是空数组时返回false |
next() | 移动数组指针到下一位,返回该位的值,当该位没有元素或是空数组时返回false |
key() | 返回当前指针所指向的元素的键,当指针所指的那一位没有元素返回null,空数组返回null |
current() | 返回当前数组指针所指向的值,指针移动超出了数组的末尾或数组为空时返回false |
each() | 返回当前指针所指的元素的值和键,并且移动指针到下一位 |
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. 数组指针函数的参数必须是一个变量
因为上面的数组指针函数都是引用传值,所以数组指针函数的参数必须是一个变量,而不能直接传给一个数组数据
$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()
$arr = ['张三', '李四', '王五'];
echo reset($arr);//张三
echo end($arr);//王五