时间:2021-05-26
本文实例讲述了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数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php自定义函数实现二维数组排序功能。分享给大家供大家参考,具体如下:/**作用:二维数组排序函数,支持多键名排序*返回:排序好的数组*使用:ar
PHP一维数组的排序可以用sort(),asort(),arsort()等函数;PHP二维数组的排序需要自定义。以下函数是对一个给定的二维数组按照指定的键值进行
本文实例讲述了php数组实现根据某个键值将相同键值合并生成新二维数组的方法。分享给大家供大家参考,具体如下:源数据:$infos=array(array('a'
本文实例讲述了php实现搜索一维数组元素并删除二维数组对应元素的方法。分享给大家供大家参考。具体如下:定义一个一维数组一个二维数组如下$fruit=array(
本文实例讲述了php实现给二维数组中所有一维数组添加值的方法。分享给大家供大家参考,具体如下:给二维数组中所有的一维数组添加值(索引和关联)$shop=arra