首页 » 网站建设 » php数组keyvalue技巧_PHP中实现key value映射

php数组keyvalue技巧_PHP中实现key value映射

访客 2024-11-05 0

扫一扫用手机浏览

文章目录 [+]

1. foreach

这是最随意马虎想到的方法

php数组keyvalue技巧_PHP中实现key value映射

2. array_map

php数组keyvalue技巧_PHP中实现key value映射
(图片来自网络侵删)

将用户自定义函数浸染到数组中的每个值上,并返回用户自定义函数浸染后的带有新值的数组,也可以实现

3. array_column

将二维数组转为一维数组

Demo Test

假设有如下数组构造:

$userInfo = array(

array(

'id' => 5698,

'first_name' => 'Bill',

'last_name' => 'Gates',

),

array(

'id' => 4767,

'first_name' => 'Steve',

'last_name' => 'Jobs',

),

array(

'id' => 3809,

'first_name' => 'Mark',

'last_name' => 'Zuckerberg',

)

);

现在需求是获取以id为key,first_name为value的数组,以下是三种实现:

$temp = [];

foreach($userInfo as $user){

$temp[$user['id']] = $user['first_name'];

}

$tempM =[];

array_map(function($user) use (&$tempM) {

$tempM[$user['id']] = $user['first_name'];

}, $userInfo);

$tempN = [];

$tempN = array_column($userInfo, 'first_name', 'id');

其结果都是:

array(3) {

[5698]=> string(4) \"大众Bill\"大众

[4767]=> string(5) \公众Steve\"大众

[3809]=> string(4) \公众Mark\"大众

}

末了

1. 从效率上来说:foreach与array_column速率在一个数量级上,基本相同,array_map要比其他两个慢一个数量级

2. 从灵巧度来说:foreach在处理多维数组时,更灵巧

标签:

相关文章

CSGO仓库地图变迁从经典布局到创新设计

《反恐精英:全球攻势》(CSGO)作为一款全球知名的第一人称射击游戏,其地图作为游戏的基础元素之一,承载着丰富的战术策略和玩家情感...

网站建设 2025-04-14 阅读1 评论0

EHR自助平台医疗信息化新时代的利器

医疗行业也迎来了数字化、智能化的新时代。电子健康记录(EHR)自助平台作为医疗信息化的重要工具,极大地提高了医疗服务的质量和效率。...

网站建设 2025-04-14 阅读1 评论0

CS仓库地图CS1.6游戏世界的奥秘

CS1.6作为一款经典的射击游戏,自2003年发布以来,凭借其独特的游戏体验和丰富的地图资源,吸引了无数玩家。其中,CS仓库地图(...

网站建设 2025-04-14 阅读1 评论0

gduck小黄鸭究竟是不是正品

gduck小黄鸭,作为一款深受消费者喜爱的家居用品,近年来备受关注。在市场上,关于gduck小黄鸭正品的争议也从未停歇。gduck...

网站建设 2025-04-14 阅读1 评论0