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实现与ASP Banner组件相似的类
Oct 09 PHP
基于php权限分配的实现代码
Apr 28 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
PHP 转义使用详解
Jul 15 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php猴子选大王问题解决方法
May 12 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 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之字符串变相相减的代码
2007/03/19 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php递归删除指定文件夹的方法小结
2015/04/20 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
jQuery使用之标记元素属性用法实例
2015/01/19 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
基于Vue过渡状态实例讲解
2017/09/14 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
浅谈Python中的闭包
2015/07/08 Python
python队列queue模块详解
2018/04/27 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python调用支付宝支付接口流程
2019/08/15 Python
python多线程并发及测试框架案例
2019/10/15 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
后勤部长岗位职责
2013/12/14 职场文书
高一新生军训感言
2014/03/02 职场文书
保险专业求职信
2014/07/07 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
服务行业演讲稿
2014/09/02 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
人民币符号
2022/02/17 杂记
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android