我想在PHP中比较和合并数组。可以说我有两个数组如下比较和合并阵列
$topCountries1 = array(
array(
'India',
'23',
'34',
'11'),
array(
'USA',
'13',
'24',
'21'),
array(
'Japan',
'13',
'24',
'21'));
$topCountries2 = array(
array(
'France',
'23',
'34',
'11'),
array(
'India',
'13',
'24',
'21'),
array(
'Japan',
'13',
'24',
'21'));
我想上面的两个数组合并,这样我会有一套独特的国家,如果有重复的国家在数组中应该添加的值的值其他三个领域并结合起来。
尝试下面的代码 - 但我对逻辑感到困惑。
$topCountries = array_merge($topCountries1, $topCountries2);
$collect = array();
foreach ($topCountries as $tc) {
echo $count = count($collect);
if ($count > 0) {
foreach ($collect as $c) {
if ($c[0] == $tc[0]) {
echo "match<br/>";
$collect[] = $tc;
} else {
$collect[] = $tc;
echo "no match<br/>";
}
}
} else {
$collect[] = $tc;
}
echo "<br/>";
}
非常感谢。它像魅力一样工作。现在我得到了我做错了什么,并使整个过程变得复杂 – 2012-07-18 12:10:13
因为我有一个像下面这样的文本键值的数组。 (INT)0 =>对象(stdClass的){ 国家> '印度' 访问=> '12' newVisits => '9' percentNewVisits =>(INT)75 }, – 2012-07-18 12:10:43
我还可以使用相同的?因为我们将它用作关键值对? – 2012-07-18 12:11:08