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缩略图生成程式(需要GD库支持)
Mar 06 PHP
php数组应用之比较两个时间的相减排序
Aug 18 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
解决php接收shell返回的结果中文乱码问题
Jan 23 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
phpstudy隐藏index.php的方法
Sep 21 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 Memcache 中实现消息队列
2009/11/24 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
js下弹出窗口的变通
2007/04/18 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
js图片预加载示例
2014/04/30 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python素数检测实例分析
2015/06/15 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
python3实现点餐系统
2019/01/24 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
python 类之间的参数传递方式
2019/12/20 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
财务人员个人自荐信范文
2013/09/26 职场文书
《钱学森》听课反思
2014/03/01 职场文书
消防安全责任书
2014/04/14 职场文书
企业宣传标语
2014/06/09 职场文书
汽车维修求职信
2014/06/15 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers