我需要一个合并两个数组的帮助.假设我有以下数组:
Array
(
[3] => Array
(
[id] => 3
[name] => Lorem
[type] => pl
)
[2] => Array
(
[id] => 2
[name] => Ipsum
[type] => pl
)
)
Run Code Online (Sandbox Code Playgroud)
第二个:
Array
(
[6] => Sit dolor
[4] => nostrud exercitation ullamco
[3] => uuntur magni dolores
[2] => corporis suscipit laboriosam
[7] => quia non numquam eius modi tempora
)
Run Code Online (Sandbox Code Playgroud)
期望的输出是:
Array
(
[3] => Array
(
[id] => 3
[name] => Lorem
[type] => pl
[new_key] => uuntur magni dolores
)
[2] => Array
(
[id] => 2
[name] => Ipsum
[type] => pl
[new_key] => corporis suscipit laboriosam
)
)
Run Code Online (Sandbox Code Playgroud)
我一直在尝试比较数组与array_diff_key()方法,而不是在某些循环中合并数组,但我无法使它工作.有没有内置的PHP函数,还是我应该自己编写?如果是这样,你能帮助我获得理想的结果吗?任何帮助深表感谢.
所有你需要的是
$data = array_map(function ($v) use($new) {
isset($new[$v['id']]) and $v['new_key'] = $new[$v['id']] ;
return $v;
}, $data);
var_dump($data);
Run Code Online (Sandbox Code Playgroud)
输出(DEMO)
array (size=2)
3 =>
array (size=4)
'id' => int 3
'name' => string 'Lorem' (length=5)
'type' => string 'pl' (length=2)
'new_key' => string 'uuntur magni dolores' (length=20)
2 =>
array (size=4)
'id' => int 2
'name' => string 'Ipsum' (length=5)
'type' => string 'pl' (length=2)
'new_key' => string 'corporis suscipit laboriosam' (length=28)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |