煮酒听雨
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册
PHP 获取数组第一个元素或最后一个值
编辑时间:2017-09-29
编辑:忘尘
阅读:920
####方法一:使用PHP函数 获取数组中的第一个(或最后一个)元素的值和键值 - current() - 返回数组中当前元素值(即:返回当前被数组内部指针指向的元素的值)。 - reset() - 函数把数组的内部指针指向第一个元素,并返回这个元素的值。 - key() - 返回数组内部指针指向的元素的索引(即:键值)。 - end() - 函数将数组内部指针指向最后一个元素,并返回该元素的值。 1、PHP 获取数组第一个元素 ```php $arr = array( 'a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc', 'd' => 'dddd', ); reset($arr); // 如果确定数组的指针指向第一个元素,可以不使用本语句 $firstValue = current($arr); // $firstValue 的值为:'aaaa' // 获取数组第一个元素的键值 $key = key($arr); // $key 的值为:'a' ``` 2、PHP 获取数组最后一个元素 ```php $arr = array( 'a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc', 'd' => 'dddd', ); $lastValue = end($arr); // $lastValue 的值为:'dddd' // 获取数组最后一个元素的键值 $key = key($arr); // $key 的值为:'d' ``` <br /> ####方法二:使用PHP数组函数进行弹出数组元素 array_shift() — 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。**所有的数字键名将改为从零开始计数,文字键名将不变;** array_pop() -弹出数组最后一个单元(出栈),并将数组 array 的长度减一; ```php $arr = array( 'a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc', 'd' => 'dddd', ); //第一个元素 aaaa $first = array_shift($arr); //最后一个元素 dddd $last = array_pop($arr); var_dump($arr) ``` 最后$arr的数据结构: ``` array( 'b' => 'bbbb', 'c' => 'cccc', ); ``` 这种方式相当于剪切,原来的数组$arr中的第一个和最后一个不存在了。 <br /> ####方法二:使用PHP数组函数进行截取数组元素 - array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) - 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列(从数组中取出一段); 注:返回的是一个数组 #####参数说明 - array - 输入的数组。 - offset - 如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。 - length - 如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。 - preserve_keys - 注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。 ```php $arr = array( 'a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc', 'd' => 'dddd', ); //第一个元素数组 $first = array_slice($arr,0,1); //最后一个元素数组 $last = array_slice($arr,-1,1); //保留原始键值 $noResetKey = array_slice($arr,0,1,true); var_dump($first); var_dump($last); var_dump(noResetKey); 结果如下: array(1) { [0]=> string(1) "aaaa" } array(1) { [0]=> string(1) "dddd" } array(1) { ["a"]=> string(1) "aaaa" } ``` <br /> ###类似函数 - end() 将array的内部指针移动到最后一个单元并返回其值。 - next()返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回FALSE。 - prev()返回数组内部指针指向的前一个单元的值,或当没有更多单元时返回FALSE。 - reset() 将array的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回FALSE。
来说两句吧
提交评论
最新评论
我的标签
函数
面试
REDIS
LNMP
验证
时间
JS
LINUX
CPA
常量
MYSQL
备份
微信
文件
压缩
优化
SVN
PHP
集合
数组
HTML
收藏
NGINX
配置
日志
性能
加密
下载
FORM
WEB
样式
SQL
表单
配置,面试,REDIS
编码
ARRAY
替换
截取
密码
版本
进程
定时
测试
事务
数据
权限
安全
防火墙
索引
设计模式
安全,面试
缓存
热文排行
LNMP状态管理命令
navicat for mysql 导入xlsx,
(置顶)开发中常用功能知识点笔记
(置顶)收藏优秀分享文章集合
PHP加密解密算法(Discuz!经典代码)
PHP 获取数组第一个元素或最后一个值
Nginx配置 nginx.conf 文件中常用配
MySQL错误日志 [Warning] IP ad
Redis持久化:快照(RDB)和AOF简解
浅析SQLmap
随机文章
友情链接
官方手册
thinkphp
php扩展
Linux命令
lnmp
PHP中文网
鸟哥Linux私房
Nginx中文文档
json格式化
Redis手册
composer中文文档
CentOS下载
流程图
VPN代理
菜鸟网
奇淼教程
首页
PHP
MYSQL
WEB
Linux
关于本站
登陆
注册