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数据库连接
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
ThinkPHP模型详解
Jul 27 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
比较完整的微信开发php代码
Aug 02 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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.MVC的模板标签系统(二)
2006/09/05 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
JS获得URL超链接的参数值实例代码
2013/06/21 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
js实现产品缩略图效果
2017/03/10 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
微信小程序实现手势滑动效果
2019/08/26 Javascript
JS随机密码生成算法
2019/09/23 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
html5启动原生APP总结
2020/07/03 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
军训 自我鉴定
2014/02/03 职场文书
法人委托书范本
2014/04/04 职场文书
应聘英语教师求职信
2014/04/24 职场文书
撤诉状格式范本
2015/05/19 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书