PHP实现通过二维数组键值获取一维键名操作示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-31 10:50:07 浏览: 评论:0
这篇文章主要介绍了PHP实现通过二维数组键值获取一维键名操作,涉及php数组遍历、判断、搜索等相关操作技巧,需要的朋友可以参考下。
本文实例讲述了PHP实现通过二维数组键值获取一维键名操作,分享给大家供大家参考,具体如下:
有如下既定数组:
- $inviteType = [
- '扫码' => [
- 'type' => 0,
- 'point' => 5,
- ],
- '评论' => [
- 'type' => 1,
- 'point' => 5,
- ],
- '分享' => [
- 'type' => 2,
- 'point' => 10,
- ],
- '邀请' => [
- 'type' => 3,
- 'point' => 50,
- ],
- '关注' => [
- 'type' => 4,
- 'point' => 50,
- ],
- '签到' => [
- 'type' => 5,
- 'point' => 5,
- ],
- '完善资料' => [
- 'type' => 6,
- 'point' => 50,
- ],
- ];
需求:
通过type里面的键值,比如0这个值,获取到“扫码”这个中文文本,是个很头痛的问题,最后通过查找资料,发现了一个很好用的方法,可以实现解决这个需求:
- $arr = array_map('array_shift',$inviteType);
- echo "<pre>";
- print_r($arr);
- echo "</pre>";
array_map('array_shift',array),该方法的意思是将array的每一项的第一个键值移除,并返回该值,注意此时的键名仍然是array的键名,输出结果如下:
- Array
- (
- [扫码] => 0
- [评论] => 1
- [分享] => 2
- [邀请] => 3
- [关注] => 4
- [签到] => 5
- [完善资料] => 6
- )
注意!返回的值是每一项的第一个键值,如果将point放在二维数组第一个,则返回的结果就是point的值了(适用范围狭窄),因此实际使用中需要把指定字段调整到第一个!
得到了想要的数据了,自然能获取到相对的键名了:
- $type = 0;
- $key = array_search($type,$arr);
- echo $key;
输出结果如下:
扫码
所以通过二维数组的每一项第一个键值获取一维键名可以总结为下面这行代码:
array_search('type',array_map('array_shift',$array))
Tags: PHP二维数组键值 PHP一维键名
- 上一篇:PHP实现数组根据某个字段进行水平合并,横向合并案例分析
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)