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 相关文章推荐
cmd下运行php脚本
Nov 25 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
thinkphp实现图片上传功能
Jan 13 PHP
zen_cart实现支付前生成订单的方法
May 06 PHP
php微信高级接口群发 多客服
Jun 23 PHP
PHP删除数组中指定下标的元素方法
Feb 03 PHP
laravel实现简单用户权限的示例代码
May 28 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三层结构(上) 简单三层结构
2010/07/04 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
js计算精度问题小结
2013/04/22 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
node跨域请求方法小结
2017/08/25 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
python实现ftp客户端示例分享
2014/02/17 Python
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python嵌套列表转一维的方法(压平嵌套列表)
2018/07/03 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
django中的数据库迁移的实现
2020/03/16 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
商务邀请函范文
2014/01/14 职场文书
小学后勤管理制度
2014/01/14 职场文书
大学生毕业鉴定
2014/01/31 职场文书
家电业务员岗位职责
2014/03/10 职场文书
连锁超市项目计划书
2014/09/15 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android