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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
php 操作符与控制结构
Mar 07 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
phpexcel导入excel数据使用方法实例
Dec 24 PHP
回帖脱衣服的图片实现代码
Feb 15 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP工厂模式的日常使用
Mar 20 PHP
针对PHP开发安全问题的相关总结
Mar 22 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
Oct 08 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
PHP5中MVC结构学习
2006/10/09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python多线程和队列操作实例
2015/06/21 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
Python遍历numpy数组的实例
2018/04/04 Python
在Python中定义一个常量的方法
2018/11/10 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
酒店拾金不昧表扬信
2014/01/18 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
中学生演讲稿
2014/04/26 职场文书
商业项目策划方案
2014/06/05 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
自荐信大全
2019/03/21 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python