【发布时间】:2011-10-31 22:01:06
【问题描述】:
我有两个二维数组。它们都包含id 和其他不那么相关的东西。如果id 匹配,我的工作就是将这两个数组合并在一起!
这是他们的样子:
array(3) {
[0]=>
array(3) {
["id"]=>
string(3) "161"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
}
}
[1]=>
array(3) {
["id"]=>
string(3) "164"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
}
[2]=>
array(3) {
["id"]=>
string(3) "168"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
}
}
array(2) {
[0]=>
array(3) {
["id"]=>
string(3) "161"
["z"]=>
string(1) "baz"
}
[1]=>
array(3) {
["id"]=>
string(3) "164"
["z"]=>
string(1) "baz"
}
结果应该是这样的:
array(3) {
[0]=>
array(3) {
["id"]=>
string(3) "161"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
["z"]=>
string(1) "baz"
}
}
[1]=>
array(3) {
["id"]=>
string(3) "164"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
["z"]=>
string(1) "baz"
}
[2]=>
array(3) {
["id"]=>
string(3) "168"
["x"]=>
string(1) "foo"
["y"]=>
string(1) "bar"
}
}
这就是我目前所拥有的。当然,它不起作用。
foreach ($rated_items as $item) {
foreach ($posts as $post) {
if ($post['id'] == $item['id']) {
$posts = array_merge($posts, $item); // Doesn't work at all.
}
}
}
问题是我不知道如何将 current $post 合并到 current $item 然后将它们都添加到 $posts没有重复的数组。
感谢您的建议!
【问题讨论】:
标签: php arrays loops merge foreach