首页 » PHP教程 » php中的value技巧_PHP中实现key value映射

php中的value技巧_PHP中实现key value映射

访客 2024-12-17 0

扫一扫用手机浏览

文章目录 [+]

1. foreach

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

php中的value技巧_PHP中实现key value映射

2. array_map

php中的value技巧_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在处理多维数组时,更灵巧

标签:

相关文章

phposs文件流技巧_Linux Kdump 机制详解

kdump 紧张还是用来捕捉纯软件的故障,在嵌入式领域还须要加上对硬件故障的捕捉,仿照其事理并进行加强和改造,就能布局出自己的 c...

PHP教程 2024-12-19 阅读0 评论0