PHP实现通过二维数组键值获取一维键名操作示例


Posted in PHP onOctober 11, 2019

本文实例讲述了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))

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 无限极分类
Mar 27 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
PHP curl使用实例
Jul 02 PHP
php验证手机号码
Nov 11 PHP
合格的PHP程序员必备技能
Nov 13 PHP
CI框架整合smarty步骤详解
May 19 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP实现权限管理功能示例
Sep 22 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 PHP
laravel框架添加数据,显示数据,返回成功值的方法
Oct 11 #PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 #PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 #PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 #PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 #PHP
laravel 中某一字段自增、自减的例子
Oct 11 #PHP
laravel框架的安装与路由实例分析
Oct 11 #PHP
You might like
PHP 变量类型的强制转换
2009/10/23 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
JS实现百度网盘任意文件强制下载功能
2018/08/31 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
10款最好的Web开发的 Python 框架
2015/03/18 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
Django中和时区相关的安全问题详解
2020/10/12 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
高三自我鉴定
2013/10/23 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
企业活动策划方案
2014/06/02 职场文书
运动员口号
2014/06/09 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python