PHP实现通过二维数组键值获取一维键名操作示例

2025-05-29 0 101

本文实例讲述了PHP实现通过二维数组键值获取一维键名操作。分享给大家供大家参考,具体如下:

有如下既定数组:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
$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这个值,获取到“扫码”这个中文文本,是个很头痛的问题,最后通过查找资料,发现了一个很好用的方法,可以实现解决这个需求:

?

1

2

3

4
$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的值了(适用范围狭窄),因此实际使用中需要把指定字段调整到第一个!

得到了想要的数据了,自然能获取到相对的键名了:

?

1

2

3
$type = 0;

$key = array_search($type,$arr);

echo $key;

输出结果如下:

扫码

所以通过二维数组的每一项第一个键值获取一维键名可以总结为下面这行代码:

?

1
array_search('type',array_map('array_shift',$array))

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/baozoumingren/article/details/81034068

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP实现通过二维数组键值获取一维键名操作示例 https://www.kuaiidc.com/91574.html

相关文章

发表评论
暂无评论