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异步调用socket实现代码
Jan 12 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
PHP生成sitemap.xml地图函数
Nov 13 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
从wamp到xampp的升级之路
Apr 08 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
php 中phar包的使用教程详解
Oct 26 PHP
浅谈Laravel核心解读之Console内核
Dec 02 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php笔记之常用文件操作
2010/10/12 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
php cookie中点号(句号)自动转为下划线问题
2014/10/21 PHP
php自定文件保存session的方法
2014/12/10 PHP
php制作文本式留言板
2015/03/18 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
python实现装饰器、描述符
2018/02/28 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
python 如何将office文件转换为PDF
2020/09/22 Python
Python通过format函数格式化显示值
2020/10/17 Python
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
人力管理专业毕业生求职信
2014/02/27 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
辞职信如何写
2015/02/27 职场文书
停电通知范文
2015/04/16 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS