【发布时间】:2020-02-08 22:26:14
【问题描述】:
我搜索了很多 SOF 线程,但似乎没有人坚持我的问题。什么是有线的,因为这应该是一个很好讨论的问题:)
也许我在寻找错误的东西......
场景:
我有 2 个数组
$a = [
['id' => 5, 'name' => 'bruce'],
['id' => 7, 'name' => 'wayne']
];
// 2 elements
和
$b = [
['id' => 6, 'name' => 'chuck'],
['id' => 8, 'name' => 'norris'],
['id' => 7, 'name' => 'wayne'] //also exists in array $a
];
// 3 elements
我的目标是
$c = [
['id' => 6, 'name' => 'chuck'],
['id' => 8, 'name' => 'norris'],
['id' => 7, 'name' => 'wayne'],
['id' => 5, 'name' => 'bruce']
];
// 4 elements (no duplicates)
我真的不关心数组中的顺序,但我想将两者合并为一个,而不是重复。
我尝试了 array_merge 和 array_merge_recursive。没有人工作。可能是因为函数不知道标识每个条目的标识符。有没有简单的解决方案,还是我真的必须为此创建一个自己的方法/函数?
也许有一个我可以使用的闭包?
【问题讨论】:
-
你不会考虑一个闭包,写你自己的函数吗?
标签: php merge closures array-merge