我有2个数组 - 一个数组来自数据库,另一个来自外部json:
$album = array( 'author' => 'John', 'id' => '1', 'title' => 'great trip', 'url' => 'http://somelink/index.php?view=show&id=13');
$likes = array( 'link' => 'http://somelink/index.php?view=show&id=13', 'likes' => '30', 'name' => 'great trip');
我想在正确的相册中显示喜欢的数量。 最好的方法是什么?
谢谢!
答案 0 :(得分:0)
由于你的问题有些模糊,我会说一般来说,在特定公共元素上合并两个数组的最简单方法是使用common元素作为键:
$array1 = array(
array('id' => 1, 'foo' => 'bar'),
array('id' => 2, 'foo' => 'baz')
);
$array2 = array(
array('id' => 1, 'name' => 'John'),
array('id' => 3, 'name' => 'Jack')
);
$merged = array();
foreach ($array1 as $element) {
$merged[$element['id']] = $element;
}
foreach ($array2 as $element) {
if (isset($merged[$element['id']])) {
$merged[$element['id']] += $element;
} else {
$merged[$element['id']] = $element;
}
}
$merged[$element['id']]
只能存在一次,因此您可以使用它来合并两个数组。