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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
PHP完整的日历类(CLASS)
Nov 27 PHP
PHP 输出缓存详解
Jun 20 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php 类自动载入的方法
Jun 03 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 PHP
JSON字符串传到后台PHP处理问题的解决方法
Jun 05 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
windows系统php环境安装swoole具体步骤
Mar 04 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中最容易忘记的一些知识点总结
2013/04/28 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
JS 遮照层实现代码
2010/03/31 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
python实现ip查询示例
2014/03/26 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
python 删除非空文件夹的实例
2018/04/26 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python箱型图处理离群点的例子
2019/12/09 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
中职生自我鉴定范文
2013/10/03 职场文书
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
外国人来华邀请函
2015/01/31 职场文书
工作一年自我鉴定
2019/06/20 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
详解Laravel服务容器的优势
2021/05/29 PHP
python Django框架快速入门教程(后台管理)
2021/07/21 Python